创建、更新、删除文档。 --- Mongodb权威指南阅读。
插入文档:
db.foo.insert({ "key" : "value"});
使用insert插入一个数据,文档中如果没有_id 会自动给文档增加_id.
batchInsert(Array) 批量插入,接受一个文档数组做参数。
使用批量插入最大长度48M,如果过程中一个失败,失败之前会插入成功,之后全都失败。
可以设置continueOnError 选项设置忽略错误并且继续插入。
插入校验: 所有文档必须都小于16M。
删除文档:
db.foo.remove();
上述命令会删除foo集合中所有文档,不会删除集合本身,也不会删除集合的元信息。remove可以接受一个查询文档作为可选参数。
删除是永久性的,不可以撤消,也不能恢复。
删除文档通常很快,但是要清空整个集合,使用drop直接删除集合,再从空集合上重建各项索引会更快。
更新文档:
db.user.update(参数1,参数2)
第一个参数查询文档,第二个参数修改器文档。
常见错误,查问文档匹配多个文档,更新时第二个参数产生了重读的_id 值,数据库会抛出错误。任何文档都不会更新。
使用_id查询比使用随机字段速度快,因为通过_id建立的索引。
增加修改或删除键时最好使用修改器,避免替换原文档。
使用修改器:
$set : 用来指定一个字段的值,如果不存在这个字段,则创建它。 $set可以修改键的类型。 ----> $unset 删除某个键。
$inc : 用来增加已有键的值,如果不存在就创建一个。 $inc 只能操作整型,长整型,或者双精度浮点型的值。 $inc 的值 必须为数字。
$push : 向以后数组末尾加入一个元素,如果没有就创建一个新的数组。
$each : 遍历数组, 可以配合$push 操作添加多个值。
$slice : 设置数组最大长度, $slice 的值必须是负整数。 $slice 和 $push 组合使用 可以保证数组不会超过设定的最大长度。
$sort : 清理数据
$ne : 保证数组内的元素不会重复。
$addToSet : 如果文档不存在,就添加进去。
$pop : 可以从数组的任何一端删除元素。 {"$pop" : {"key" : 1}} 从数组末尾删除。 {"$pop" : {"key" : -1}} 从数组头部删除。
$pull : 基于特定条件来删除元素。 $pull 会讲所有匹配到的文档删除。
$ : 基于位置的数组修改器。 用来定位查询文档已经匹配的数组元素,并进行更新。
db.blog.update({ "comments.author" : "jhon"},
... {"$set" : {"comments.$.author" : "jim"}})
upsert : 如果没找到符合更新条件的文档,就以条件文档和更新文档,创建一个新的文档。
默认情况,更新智能对符合条件的第一个文档执行操作。如果有多个文档符合条件,只有第一个文档回被更新。 如果匹配所有文档需要将update 第四个参数设置为true。
findAndModify : 在一个造作中返回匹配的结果,并进行更新。
可选字段:
findAndmodify : 字符串,集合名。
query : 查询文档。
sort : 排序的结果条件。
update : 修改器文档。
remove : 布尔类型,表示是否删除文档。
new : 布尔类型, 表示返回更新前的文档还是更新后的文档。默认是更新前的文档。
fields : 文档中需要返回的字段。
upsert : 布尔类型, 当true是 表示这是一个upsert 默认为false。
创建、更新、删除文档。 --- Mongodb权威指南阅读。的更多相关文章
- 《mongoDB》基本操作-创建/更新/删除文档
一:基本操作 - db; 当前选择的集合(等于数据库名) > db demo - use db_name; 选择你要操作的集合 > use demo switched to db dem ...
- MongoDB(二)创建更新删除文档
插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz" ...
- MongoDB创建\更新\删除文档操作
一.插入\创建文档 --当插入一个不存在的文档时,会自己主动创建一个文档 [root@racdb ~]# mongo MongoDB shell version: 2.4.14 connecti ...
- 2.MongoDB系列之创建更新删除文档
1. 插入文档 // 单条插入 db.getCollection('blog').insertOne({'type': 'mongodb'}) // 批量 插入 db.getCollection('b ...
- sharepoint中的Power Shell命令创建、删除文档库列表
ListTemplateType 枚举: 自定义列表-GenericList.文档库-DocumentLibrary.图片库-PictureLibrary.公告-Announcements.联系人-C ...
- Mongodb基础知识----Mongodb权威指南阅读
文档是Mongodb中数据的基本单元,类型关系型数据库中的行,每个文档都有一个键值唯一的键_id.集合可以看做拥有动态模式的表. Mongodb一个实例可以拥有多个相互独立的数据库. Mongodb区 ...
- MongoDB(五):更新文档、删除文档
1. 更新文档 MongoDB的uptade()和save()方法用于将集合中的文档更新.update()方法更新现有文档中的值,而save()方法是传递文档数据替换现有文档.从3.2版本开始,Mon ...
- MongoDB快速入门(八)- 删除文档
删除文档 MongoDB 的 remove()方法用于从集合中删除文档.remove()方法接受两个参数.一个是标准缺失,第二是justOne标志 deletion criteria : 根据文件(可 ...
- MongoDB学习笔记二:创建、更新及删除文档
插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...
随机推荐
- 项目总结——SqlParameter的参数设置长度(size属性)
看到很多朋友在实例化SqlParameter时,通常都没有指定参数的长度就直接给参数赋值了.就像下面的写法: new SqlParameter("@address", SqlDbT ...
- C++ STL源代码学习(map,set内部heap篇)
stl_heap.h ///STL中使用的是大顶堆 /// Heap-manipulation functions: push_heap, pop_heap, make_heap, sort_heap ...
- 实用CSS3属性之 :target伪类实现Tab切换效果
CSS3 :target伪类用来改变页面中锚链接URL所指向的ID样式,例如你要改变描链接指向#tab的元素字体颜色为蓝色,哪么你可以这样写成#tab:target {color:blue} 浏览器支 ...
- 【网络流】【HDU3081】Marriage Match II
得出正解前的思考: 1.我该如何处理朋友关系?消去朋友关系 ,直接由朋友关系得出情人关系的连线? 2.我该如何保证每次源点给1-N 平均分配1点流? 又可耻的看了题解,答案让我醍醐灌顶
- 3D 转换
用X.Y.Z分别表示空间的3个维度,三条轴互相垂直.如下图 1.左手坐标系 2.透视(perspective) 电脑显示屏是一个2D平面,图像之所以具有立体感(3D效果),其实只是一种视觉呈现 ,通过 ...
- Android SDK开发常用工具的使用及其异常处理
由于以下操作都是命令操作,所以在执行以下操作之前确保环境变量 ANDROID_HOME 指向的是正确的Android SDK的路径: 一.启动Android SDK Manager: android ...
- 2015.01.06 JQuery
jQuery是一个兼容多浏览器的javascript库.开发出来的JavaScript的脚本包.非侵入性的脚本. 下载地址:http://jquery.com/ (打不开网页需要翻* ...
- java之从字符串比较到==和equals方法区别
我们先看代码 String str1 = new String("hello"); String str2 = "hello"; System.out.prin ...
- 【2012noip提高组】借教室
在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然希望编程 ...
- 手机访问电脑wampServer本地环境页面
1. 电脑需要安装好wamp,我这里用的2.0版本,下载地址 http://pan.baidu.com/s/1jG31hbS 2. 电脑需要有个wifi,我用的360wifi 3. 启动 ...