📜  MongoDB insertMany() 方法 – db.Collection.insertMany()

📅  最后修改于: 2022-05-13 01:56:58.309000             🧑  作者: Mango

MongoDB insertMany() 方法 – db.Collection.insertMany()

insertMany()方法在集合中插入一个或多个文档。它需要将文档数组插入到集合中。

  • 默认情况下,如果要以无序插入文档,则文档按给定顺序插入,然后将ordered 的值设置为false。
  • 使用此方法,您还可以通过插入文档来创建集合。
  • 您可以插入带有或不带有 _id 字段的文档。如果您在集合中插入一个没有 _id 字段的文档,那么 MongoDB 将自动添加一个 _id 字段并为其分配一个唯一的 ObjectId。并且如果插入带有_id 字段的文档,那么_id 字段的值必须是唯一的,以避免出现重复键错误。
  • 此方法还可以抛出BulkWriteError 异常。
  • 此方法也可用于多文档事务中。

句法:

参数:

  • 第一个参数是要插入到集合中的文档数组。
  • 第二个参数是可选的。

可选参数:

  • writeConcern:仅在您不想使用默认写关注时使用。该参数的类型是文档。
  • ordered:该参数的类型是布尔值,指定 MongoDB 实例应该执行有序插入还是无序插入。如果是真的,插入将以有序方式插入,否则以无序方式插入。默认为真。

返回:

此方法返回:

  • 如果启用了写关注,则布尔值确认为 true,如果禁用了写关注,则确认为 false。
  • 具有插入文档的 _id 值的 insertId 字段。

例子:



在以下示例中,我们正在使用:

示例 1:插入一个包含学生姓名和年龄的文档

db.student.insertMany([{name:"Akshay",age:18}])

示例 2:插入包含学生姓名和年龄的文档数组

db.student.insertMany([{name:"Ajay",age:20},
                       {name:"Bina",age:24},
                       {name:"Ram",age:23}])

示例 3:插入多个带有 _id 字段的文档

db.student.insertMany([{_id:"stu200", name:"Ammu", age:18},
                       {_id:"stu201", name:"Priya", age:29}])

示例 4:通过将ordered 选项的值设置为false 来插入无序文档

db.student.insertMany([{_id:"stu203",name:"Soniya",age:28}, 
                       {_id:"stu202", name:"Priya", age:25}], 
                       {ordered: false})