`
sunsetst
  • 浏览: 1352 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

向集合中插入文档(insert方法)

阅读更多

MongoDB v3.2

 

1. 方法定义

 

db.collection.insert(
   <document or array of documents>,
   {
     writeConcern: <document>,
     ordered: <boolean>
   }
)

 

第一个参数可以是一个文档,也可以是一个文档数组,即insert可以同时插入多条数据

 

第二个参数是一个文档,writeConcern表示进行写入操作时数据库的响应级别,ordered是一个布尔值,若为true,按顺序插入指定数组中的document,如果其中一个document插入时出现错误,直接返回,剩下的document不再处理;若为false,会忽略错误继续插入剩下的文档。默认为true。

 

另外,在向集合插入文档时,若文档不存在,则自动创建。若插入的文档中未指定_id字段,则自动生成。

 

2. 返回值

插入单个文档,返回WriteResult对象;插入多个文档,返回BulkWriteResult对象。

 

插入成功时返回:

WriteResult({ "nInserted" : 1 })

 nInserted表示插入的数量

 

若插入时出现一个write concern错误,返回类似如下信息:

WriteResult({
   "nInserted" : 1,
   "writeConcernError" : {
      "code" : 64,
      "errmsg" : "waiting for replication timed out at shard-a"
   }
})

 

插入时出现于write concern无关的错误:

WriteResult({
   "nInserted" : 0,
   "writeError" : {
      "code" : 11000,
      "errmsg" : "insertDocument :: caused by :: 11000 E11000 duplicate key error index: test.foo.$_id_  dup key: { : 1.0 }"
   }
})

 

3. Write Concern

用于设定写操作的响应等级

{ w: <value>, j: <boolean>, wtimeout: <number> }

 w=0: 写操作不等待服务端响应确认,即便写入失败也不会响应。但能感知到网络错误。
w=1: 能够获取到单节点或集群中主节点的响应信息。该值为默认值。
w=majority: 能够获取到集群中包括主节点在内的多个节点(voting)的响应信息,而且本次写入操作会确保记录磁盘journal,即便断电数据也不会丢失
w>1: 能够获得包括主节点在内的多个节点的响应信息,但指定的数量需与集群数量一致,否则操作会一直等待,除非设置wtimeout
j=true: 等待操作写入journal log才会返回响应,可以容忍服务器宕机。需在mongod启动时加上journaling参数确保可以使用。
wtimeout: 写入操作的超时时长,单位为毫秒,超时则返回一个错误信息。

 

分享到:
评论

相关推荐

    MongoDB PHP插入文档.pdf

    插入文档是通过调用集合对象的 `insert()` 方法完成的。这个方法接受一个数组,该数组将转换为 MongoDB 的文档格式。例如: ```php $document = array( "title" =&gt; "MongoDB", "description" =&gt; "database", ...

    MongoDB Java插入文档.pdf

    插入文档主要使用`DBCollection`对象的`insert()`方法。在这个例子中,`BasicDBObject`被用来创建一个文档对象,它是一个键值对的容器,类似于JSON对象。文档的结构如下: ```java BasicDBObject doc = new ...

    MongoDB 插入文档

    MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下: db.COLLECTION_NAME.insert(document) 实例 以下文档可以存储在 MongoDB 的 runoob 数据库 的 col 集合中: &gt;db.col.insert({title: 'Mo

    MongoDB使用创建数据,集合,插入文档

    创建集合非常简单,只需向其插入文档即可,如果集合不存在,MongoDB会自动创建。例如: ```javascript &gt; db.my_collection.insert({name: "John", age: 30}) ``` 这里`my_collection`是集合名,`{name: "John", ...

    MongoDB具体操作方法(数据库、集合、文档的CRUD操作)

    当向集合插入第一个文档时,集合会自动创建。 文档是MongoDB中的基本数据单元,类似于JSON对象,由键值对组成,键值对可以包含多种数据类型,甚至嵌套其他文档或数组。每个文档都必须有一个唯一的`_id`键,通常是...

    插入操作1

    在MongoDB数据库中,插入操作是向集合中添加新文档的基本方法。MongoDB提供了两种主要的插入方法,即`insert()`和`save()`,用于将数据存储到集合中。 首先,`insert()`方法是最常见的插入操作,其基本语法如下: ...

    MFC在word模板中插入文字和图片生成文档实例

    5. **插入文字**:利用`pWordApp-&gt;ActiveDocument-&gt;Content`获取当前文档的文本范围,然后调用`InsertText`或`TypeText`方法插入文字。例如,`pWordApp-&gt;ActiveDocument-&gt;Content-&gt;Text = _T("这是插入的文字");` 6...

    WORD插入图片.docx

    首先,我们需要使用GetShapes()方法获取当前文档中的shapes集合,并将其保存在Shapes对象中。 Shapes MyShapes; MyShapes.AttachDispath(Mydoc.GetShapes(),1); 然后,我们可以使用AddPicture()方法将选定的图片...

    MongoDB快速入门笔记(三)之MongoDB插入文档操作

    本文给大家介绍MongoDB的插入文档的方法,一起看看吧 1、文档的数据存储格式为BSON,类似于JSON。MongoDB插入数据时会检验数据中是否有“_id”,如果没有会自动生成。 shell操作有insert和save两种方法。当插入一条...

    mongoDB的官方中文文档

    2. **集合(Collections)**:在MongoDB中,数据以文档的形式存储在集合里,类似于关系数据库中的表格。集合是动态模式的,不需要预先定义模式,这意味着你可以随时添加新的字段。 3. **CRUD操作**:创建(Create)...

    MongoDB的插入、更新、删除与查询文档.pdf

    在MongoDB中,插入文档是创建新数据的主要方式。插入文档的语法格式如下: ```javascript db.collectionName.insert_one({BSON}) ``` 或 ```javascript db.collectionName.insertMany([{BSON1}, {BSON2}, ...]) ```...

    给数据库新建表插入数据方法

    在某些数据库系统中,如MongoDB这样的NoSQL数据库,创建集合(相当于关系数据库中的表)和插入文档(相当于记录)的操作有所不同。例如,在MongoDB中,创建集合是自动完成的,当你第一次插入文档时,如果该集合不...

    c# 图片插入Excel

    接收单元格范围名称和图片路径作为参数,通过`get_Range`方法定位到目标单元格,然后使用`Pictures`集合的`Insert`方法插入图片。 - **SaveFile 方法**: 用于保存当前工作簿到指定路径。虽然在示例代码中未明确...

    MongoDB 数据库创建删除、表(集合)创建删除、数据增删改查2

    MongoDB 使用 `insert` 方法向集合中添加文档,如 `db.表名.insert({"name":"zhangsan","age":20})`。当插入数据时,如果没有预先存在的集合,MongoDB 会自动创建该集合。 在查询数据方面,MongoDB 提供了丰富的...

    MongoDB插入数据的3种方法

    以下是如何使用`save()`方法向`inventory`集合中插入文档: ```javascript db.inventory.save( { type: "book", item: "notebook", qty: 40 } ) ``` 这里,MongoDB会自动为新插入的文档生成一个`_id`字段并赋予...

    MongoDB 批量插入及更新

    1. **`IMongoCollection.BulkWrite`方法**:此方法接受一系列的`WriteModel`对象作为参数,可以是插入、更新或删除操作。这些操作会被作为一个原子性的事务提交到MongoDB。 2. **`IsUpsert`属性**:当设置为`true`...

    C# 操作Web文档插入文字及图片及wed转成html转pdf

    例如,插入文字可以通过`Document.Content.InsertText`方法实现,而插入图片则可以使用`Document.InlineShapes.AddPicture`方法。 2. **Word书签使用**: 书签是Word文档中的一个定位点,用于标记特定位置以便后续...

    MongoDB插入数据

    插入单个文档到MongoDB集合中,可以使用`insertOne()`方法。例如,假设我们有一个名为`students`的集合,我们可以插入一个学生记录: ```javascript db.students.insertOne({ name: "张三", age: 20, major: ...

    DOM访问/创建/删除/修改文档节点及属性方法

    3. `insertData(offset, string)`: 将指定字符串插入到文本节点指定的位置中。 4. `replaceData(offset, count, string)`: 用给定的字符串替换文本节点指定位置数量的文本数据。 5. `splitText(offset)`: 将指定位置...

Global site tag (gtag.js) - Google Analytics