首页 > mongodb > basic > 11.MongoDB插入命令详解

11.MongoDB插入命令详解

MongoDB执行插入数据操作时, 如果指定集合不存在, 会自动创建这个集合.

1 mongodb插入单个文档

MongoDB3.2版本新特性db.collection.insertOne()向一个集合中插入一条数据.插入的数据如果没有指定_id这个字段的值, MongoDB会自动设置一个ObjectId类型的值.

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" } }
])

查看插入的数据, 输入:

db.inventory.find( {} )

2 mongodb插入运转状态

2.1 mongodb创建集合

如果插入数据的目标集合不存在,则创建该集合.

2.2 mongodb _id字段

MongoDB中每个文档都需要一个唯一的_id字段来作为主键. 如果插入的文档数据没有该字段, MongoDB会自动生成该字段, 并赋予ObjectId类型的值.这个过程同样适用于update操作时设定了upsert:true属性.

2.3 mongodb原子性

MongoDB写操作提供文档级别的原子操作.

2.4 mongodb写入回执

MonogoDB执行写操作时, 可以指定回执等级.详情参考Write Concern.

写入相关方法:

db.collection.insertOne()
db.collection.insertMany()

update操作与写入相关的方法:

db.collection.update() when used with the upsert: true option.
db.collection.updateOne() when used with the upsert: true option.
db.collection.updateMany() when used with the upsert: true option.
db.collection.findAndModify() when used with the upsert: true option.
db.collection.findOneAndUpdate() when used with the upsert: true option.
db.collection.findOneAndReplace() when used with the upsert: true option.
db.collection.save().
db.collection.bulkWrite().

3 参考文章

https://docs.mongodb.com/manual/tutorial/insert-documents/

4 相关文章

MongoDB中文文档

转载请保留原文链接.