插入文档:

  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权威指南阅读。的更多相关文章

  1. 《mongoDB》基本操作-创建/更新/删除文档

    一:基本操作 - db; 当前选择的集合(等于数据库名) > db demo -  use db_name; 选择你要操作的集合 > use demo switched to db dem ...

  2. MongoDB(二)创建更新删除文档

    插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz" ...

  3. MongoDB创建\更新\删除文档操作

     一.插入\创建文档 --当插入一个不存在的文档时,会自己主动创建一个文档 [root@racdb ~]# mongo MongoDB shell version: 2.4.14 connecti ...

  4. 2.MongoDB系列之创建更新删除文档

    1. 插入文档 // 单条插入 db.getCollection('blog').insertOne({'type': 'mongodb'}) // 批量 插入 db.getCollection('b ...

  5. sharepoint中的Power Shell命令创建、删除文档库列表

    ListTemplateType 枚举: 自定义列表-GenericList.文档库-DocumentLibrary.图片库-PictureLibrary.公告-Announcements.联系人-C ...

  6. Mongodb基础知识----Mongodb权威指南阅读

    文档是Mongodb中数据的基本单元,类型关系型数据库中的行,每个文档都有一个键值唯一的键_id.集合可以看做拥有动态模式的表. Mongodb一个实例可以拥有多个相互独立的数据库. Mongodb区 ...

  7. MongoDB(五):更新文档、删除文档

    1. 更新文档 MongoDB的uptade()和save()方法用于将集合中的文档更新.update()方法更新现有文档中的值,而save()方法是传递文档数据替换现有文档.从3.2版本开始,Mon ...

  8. MongoDB快速入门(八)- 删除文档

    删除文档 MongoDB 的 remove()方法用于从集合中删除文档.remove()方法接受两个参数.一个是标准缺失,第二是justOne标志 deletion criteria : 根据文件(可 ...

  9. MongoDB学习笔记二:创建、更新及删除文档

    插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...

随机推荐

  1. ASP.NET MVC 学习之路-6

    本文在于巩固基础 上文中使用的Code First创建数据库 本文将使用数据库生成模型 这里使用ADO.NET实体数据模型来生成模型 下面按照指导完成操作 下面看看如何使用这个框架 数据访问修改主要是 ...

  2. javascript 兼容各个浏览器的事件

  3. SpringMVC中采用简洁的配置实现文件上传

    文件上传我们一般会有两种策略,一种是通过IO流上传,还有一种是通过表单上传,其实这两种在客户端实现起来都是很简单的,在服务端处理会略有差别,个人感觉IO上传代码简单,但是也有很多硬伤,还是表单上传更合 ...

  4. DataTable中执行DataTable.Select("条件"),

    我们在使用Sql ******这些数据库时,可以轻松的通过Sum.Aver.Count等统计出相关结果,那么,在已经把数据检索出来的DataSet(DataTable)中呢?特别是通过Web Serv ...

  5. php中json_encode中文编码问题

    1 <?php 2 class myClass { 3 public$item1=1; 4 public$item2='中文'; 5 6 function to_json() { 7 //url ...

  6. linux 生产环境搭建

    Linux基础命令杂记   今天又一次搞Linux生产环境搭建.这是种步骤很多,很繁琐而且又不得不做的事情.虽然做过很多次,但还是有很多步骤.命令不记得,每一次到处找资料很麻烦,于是将一些步骤记下,以 ...

  7. Flink Program Guide (2) -- 综述 (DataStream API编程指导 -- For Java)

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  8. ASP.NET自定义控件加载资源WebResource问题

    最近项目用日期控件,想把My97的资源文件跟TextBox封装成一个DatePicker控件,其实很简单的意见事情,但是还是用了一天多的时间,主要的问题就是解决资源文件加载的问题.通过一天多的努力,得 ...

  9. 【转】浅析terminal创建时ptmx和pts关系

      我们打开一个terminal,那么将会在devpts文件系统/dev/pts下创建一个对应的pts字符文件,该pts字符文件节点直接由/dev/ptmx节点的驱动函数ptmx_open()调用de ...

  10. LDA Gibbs Sampling

    注意:$\alpha$和$\beta$已知,常用为(和LDA EM算法不同) 1.   为什么可用 LDA模型求解的目标为得到$\phi$和$\theta$ 假设现在已知每个单词对应的主题$z$,则可 ...