我想知道如何将对象数组插入Mongo集合"根级文档"使用自己的预定义_id值。
我尝试了db.MyCollection.insert(array);
但是它在MongoDB中的一个单独生成的_id下创建了嵌套文档。
var array = [
{ _id: 'rg8nsoqsxhpNYho2N',
goals: 0,
assists: 1,
total: 1 },
{ _id: 'yKMx6sHQboL5m8Lqx',
goals: 0,
assists: 1,
total: 1 }];
db.MyCollection.insert(数组);
我想要什么
答案 0 :(得分:5)
db.collection.insertMany()是你需要的(3.2支持):
db.users.insertMany(
[
{ name: "bob", age: 42, status: "A", },
{ name: "ahn", age: 22, status: "A", },
{ name: "xi", age: 34, status: "D", }
]
)
输出:
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("57d6c1d02e9af409e0553dff"),
ObjectId("57d6c1d02323d119e0b3c0e8"),
ObjectId("57d6c1d22323d119e0b3c16c")
]
}
答案 1 :(得分:3)
为什么不迭代数组对象,并一次插入一个?
array.forEach((item) => db.MyCollection.insert(item));
答案 2 :(得分:1)
浏览此链接以您想要的方式获得Exact Outcome:
https://docs.mongodb.org/manual/tutorial/insert-documents/#insert-a-document
答案 3 :(得分:0)
您可以使用MongoDB Bulk在一次调用数据库中插入多个文档。
首先遍历数组并为每个项调用bulk
方法:
bulk.insert(item)
循环后,请致电execute
:
bulk.execute()
查看参考文档以了解更多信息。