db.collection.insertOne() 插入单个文档。 db.collection.insertMany() 插入多个文档。 db.collection.insert() 插入单/多个文档。 insert()方法 要将数据插入到 MongoDB 集合中,需要使用 MongoDB 的 insert()或save()方法。 语法 insert()命令的基本语法如下: >db.COLLECTION_NAME.insert(document) 示例 >db.mycol.insert({ _id: 100, title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'yiibai tutorials', url: 'http://www.yiibai.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100, }) 这里mycol是集合的名称,在前一章中所创建的。如果数据库中不存在集合,则MongoDB将创建此集合,然后将文档插入到该集合中。 在插入的文档中,如果不指定_id参数,那么 MongoDB 会为此文档分配一个唯一的ObjectId。 _id为集合中的每个文档唯一的12个字节的十六进制数。 12字节划分如下 _id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer) 要在单个查询中插入多个文档,可以在insert()命令中传递文档数组。如下所示 - > db.post.insert([{ title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'tutorials point', url: 'www.tutorialspoint.com', tags: 'database', likes: 100}, { title: 'MongoDB Overview2', description: 'MongoDB is no sql database2', by: 'tutorials point2', url: 'www.tutorialspoint.com2', tags: 'database2', likes: 200} ]) 要插入文档,也可以使用db.post.save(document)。 如果不在文档中指定_id,那么save()方法将与insert()方法一样自动分配ID的值。如果指定_id,则将以save()方法的形式替换包含_id的文档的全部数据。 db.collection.insertOne()方法 db.collection.insertOne()方法将单个文档插入到集合中。以下示例将新文档插入到库存集合中。 如果文档没有指定_id字段,MongoDB会自动将_id字段与ObjectId值添加到新文档。 db.inventory.insertOne({ item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }) db.collection.insertOne()方法返回包含新插入的文档的`_id` 字段值的文档。 执行结果如下 > db.inventory.insertOne( { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } } ) { "acknowledged" : true, "insertedId" : ObjectId("5955220846be576f199feb55") } db.collection.insertMany()方法 db.collection.insertMany()方法将多个文档插入到集合中,可将一系列文档传递给db.collection.insertMany()方法。以下示例将三个新文档插入到库存集合中。如果文档没有指定_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()返回包含新插入的文档_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" } } ]) { "acknowledged" : true, "insertedIds" : [ ObjectId("59552c1c46be576f199feb56"), ObjectId("59552c1c46be576f199feb57"), ObjectId("59552c1c46be576f199feb58") ] } Bulk Insert方式 db.runCommand( { insert: "users", documents: [ { _id: 1, user: "hao121", status: "0" }, { _id: 2, user: "hao122", status: "1" }, { _id: 3, user: "hao123", status: "2" } ] } )