Mogodb 学习一
0、MongoDB和关系型数据的几个重要对象对比
MongoDB中的数据库、集合、文档 类似于关系型数据库中的数据库、表、行
MongoDB中的集合是没有模式的,所以可以存储各种各样的文档
1、启动MongoDB服务:从控制台里定位到mongod.exe 所在的目录 ,执行该程序
> d:
> cd D:\MongoDB // 里定位到mongod.exe 所在的目录
> mongod --dbpath D:\MongoDB\data // 运行mongod 程序 , 备注 mongod后面的参数是指定 数据目录
2、运行MongoDB Shell
cmd控制台 定位和运行Mongo.exe 启动Shell
3、MongoDB中的数据类型:
基本数据类型: 字符串 布尔 null 数组 对象 数字
数字:32位整数 64位整数 64位双精度浮点数
日期: new Date() 表示从标准纪元开始的毫秒数
内嵌文档
_id和ObjectId
4、插入、更新、删除文档
4.1 插入:db.foo.insert({"name":"lxf"});
4.2 删除:db.foo.remove() // 不带条件的删除 会删除集合中的所有文档 但不会删除集合 原有的索引也会保留。删除数据是永久性的 不能恢复 不能撤销
删除整个集合使用:db.drop_collection("far")
4.3 更新文档:
4.3.1 文档替换
4.3.2 使用修改器:
$set 用来指定一个键的值,如果这个键不存,则创建它 , 可以修改数据类型 。 example: db.product.update({"name":"旺仔牛奶"},{"$set":{ "num":50 , "category":"饮料" }})
$unset 可以将指定的键完全删除 注意:增加、修改、删除键时,应该使用$开头的修改器
$inc 用来增加或减少已有键的值(键不存在时就创建这个键,初始值设定为增量值 ,操作的键值对象必须为 整数 长整数 浮点数), db.product.update({"name":"旺仔牛奶"},{"$inc":{ "num":2 }})
$push 只能对数组操作 db.product.update({"name":"旺仔牛奶"},{"$push":{ "arr": 100 }})
$ 数组的定位修改器 指定修改数组中的一部分 db.product.update({"name":"旺仔牛奶"},{"$set":{ "arr.0": 5 }})
4.3.3 upsert
有即更新 没有 以条件和更新文档为基础创建一个新文档 db.product.update({"name":"飛旺"},{"$set":{ "price": 5 }},true)
save 是一个shell函数 不存在时插入 存在时更新 它只有一个参数 :文档, 如果这个文档含有 "_id"键,save 会调用upsert,否则会调用插入。
4.4 更新多个文档
设置 update第四个参数为 true 即可使匹配的数据 都得到更新
Mogodb 学习一的更多相关文章
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)
一.下载及安装MongoDB MongoDB下载官网链接:http://www.mongodb.org/downloads 具体安装步骤教程:http://www.shouce.ren/api/vie ...
- NodeJS+Express+MongoDB 简单实现数据录入及回显展示【适合新人刚接触学习】
近期在看NodeJS相关 不得不说NodeJS+Express 进行网站开发是很不错,对于喜欢玩JS的来说真是很好的一种Web开发组合 在接触NodeJS时受平时Java或者C#中API接口等开发的思 ...
- MySQL(一) -- MySQL学习路线、数据库的基础、关系型数据库、关键字说明、SQL、MySQL数据库、MySQL服务器对象、SQL的基本操作、库操作、表操作、数据操作、中文数据问题、 校对集问题、web乱码问题
1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引,分表等. 部署阶段:如何搭建真实 ...
- 【每日更新】【Redis学习】
5. Redis订阅和发布模式和Redis事务 -------------------Redis事务------------------- 1.概念: redis中的事务是一组命令的集合.事务 ...
- MongoDB学习(1)--安装,基本curd操作
知识点: 1-MongoDB 安装,启动和卸载 2-基本概念 3-基本的增删改查操作(CURD) 来回顾总结一把学习的mongodb,如果有javascript基础,学习"芒果DB" ...
- golang and mogodb
1.golang的mogodb包下载:http://gopkg.in/mgo.v2 http://gopkg.in/mgo.v2/bson 2.golang的mongodb操作(mgo):htt ...
- MongoDB学习笔记:快速入门
MongoDB学习笔记:快速入门 一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
随机推荐
- Python对Selenium调用浏览器进行封装包括启用无头浏览器,及对应的浏览器配置文件
""" 获取浏览器 打开本地浏览器 打开远程浏览器 关闭浏览器 打开网址 最大化 最小化 标题 url 刷新 Python对Selenium封装浏览器调用 ------b ...
- net面试宝典
ASP.NET常见面试题及答案 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. ...
- 一份超全超详细的 ADB 用法大全
http://blog.csdn.net/u010375364/article/details/52344120
- ThinkPHP框架知识(比较全的知识)
php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...
- js浮点数保留一位小数
function changeTwoDecimal_f(x) { var f_x = parseFloat(x); if (isNaN(f_x)) { alert('function:changeTw ...
- android 权限
1.开发的apk如果想要使用其他组件提供的功能,需要获取对应的权限.android提供了一些权限,在Manifest.permission类中定义. 比较常用的权限:
- 【大数据】Scala学习笔记
第 1 章 scala的概述1 1.1 学习sdala的原因 1 1.2 Scala语言诞生小故事 1 1.3 Scala 和 Java 以及 jvm 的关系分析图 2 1.4 Scala语言的特点 ...
- SSM 关于service和dao的封装
近期由于客户需求,所以我们整个小组开始开发java项目. 虽然很久以前也是系统学习过.不过干了这么多年 .net ,有关java的早就扔了. 好了,废话不多说.我们看看SSM 关于service和d ...
- gcc 与 glibc 的关系 glibc版本查看
glibc是什么,以及与gcc的关系?glibc是gnu发布的libc库,也即c运行库.glibc是linux 系统中最底层的api(应用程序开发接口),几乎其它任何的运行库都会倚赖于glibc.gl ...
- Trips CodeForces - 1037E(思维dfs)
题意: 就是几个人去旅游,组队的条件是对于某个队员 队里至少有两个是他的朋友,每天早晨都会有一对新人成为朋友 解析: 用set标记互为朋友 a[i] b[i] 表示在第i天早晨 u和v成为朋友 先求最 ...