创建或插入操作向集合添加新文档。如果集合当前不存在,则插入操作将创建集合。MongoDB提供了将文档插入集合的下列方法:
db.collection.insertOne() New in version 3.2
db.collection.insertMany() New in version 3.2
在MongoDB中,INSERT操作以单个集合为目标。MongoDB中的所有写操作都是单个文档级别上的原子操作。
db.collection.insertOne() 将单个文档插入到集合中。下面的示例将一个新文档插入到 inventory 集合中。如果文档没有指定 _id 字段,MongoDB 将带有 objectid 值的 _id 字段添加到新文档中。
db.inventory.insertOne( { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } } )
insertOne() 返回一个包含新插入的文档的_id字段值的文档。若要检索刚才插入的文档,请查询集合:
db.inventory.find({item:"canvas"})
New in version 3.2.
db.collection.insertMany() 可以在集合中插入多个文档。将文档数组传递给方法。
下面的示例将三个新文档插入到 inventory 集合中。如果文档没有指定 _id 字段,MongoDB 将带有 objectid 值的 _id 字段添加到新文档中。
db.inventory.insertMany([ { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } }, { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } }, { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } } ])
insertMany() 返回包含新插入的Documents_id字段值的文档。若要检索插入的文档,请查询集合:
db.inventory.find({})
如果集合当前不存在,则插入操作将创建集合。
在 MongoDB 中,存储在集合中的每个文档都需要作为主键的唯一 _id 字段。
如果插入的文档省略了 _id 字段,MongoDB 驱动程序将自动为 _id 字段生成一个 objectid。
这也适用于通过 upsert:true 的 UPDATE 操作插入的文档。
MongoDB 中的所有写操作都是单个文档级别上的原子操作。
有了写关注点,您可以指定从 MongoDB 为写操作请求的确认级别。
MongoDB提供了将文档插入集合的下列方法:
db.collection.insertOne():将单个文档插入到集合中。
db.collection.insertMany():将多个文档插入到集合中。
db.collection.insert():将单个文档或多个文档插入到集合中。
以下方法还可以向集合中添加新文档:
db.collection.update():当与 upsert: true 选项一起使用时。
db.collection.updateOne():当与 upsert: true 选项一起使用时。
db.collection.updateMany():当与 upsert: true 选项一起使用时。
db.collection.findAndModify():当与 upsert: true 选项一起使用时。
db.collection.findOneAndUpdate():当与 upsert: true 选项一起使用时。
db.collection.findOneAndReplace():当与 upsert: true 选项一起使用时。
db.collection.save()
db.collection.bulkWrite()