我正在使用Meteor.Method尝试插入online documents
中显示的多个文档我使用此模式生成要插入的文档数组。
var arr = [];
for (i=0;i<10;i++){
doc = {}
doc["A"] = i;
doc["B"] = i*18;
arr.push(doc)
}
bulks.insert(arr)
而不是插入多个文档,它将我arr
中的每个文档嵌入到一个新文档中:
{
"_id" : "YqfTbSmrGEcTAhFhj",
"0" : {"A" : 0, "B" : 0 },
"1" : {"A" : 1,"B" : 18},
"2" : {"A" : 2,"B" : 36},
"3" : {"A" : 3,"B" : 54},
{...},
"9" : {"A" : 9,"B" : 162}
}
如何构建数组以确保单独插入文档?
e.g。
{ "_id" : "YqfTbSmrGEcTAhFhj", "A" : 0, "B" : 0 }
{ "_id" : "mrGEcTAhFhjYqfTbS", "A" : 1, "B" : 18 }
{ "_id" : "hjYqfTmrGEcTAhFbS", "A" : 2, "B" : 36 }
{...}
{ "_id" : "hjYqfTmrGEcTAhFbS", "A" : 9, "B" : 182}
[补充资料] 我已成功地在shell中执行此操作,但不能在Meteor中执行此操作 - 因此可能会限制驱动程序。
Meteor可以做到这一点吗?
答案 0 :(得分:0)
Meteor集合不是Mongo集合的100%直接翻译,它们包含在单独的图层中。因此,您不能直接对它们使用Mongo方法。您使用的insert
是Meteor集合插页。每the documentation,它只允许您一次插入一个文档。
答案 1 :(得分:0)
根据此Github discussion/closed issue of April 22 2014,无法进行批量插入,并且根据roadmap未安排的情况,它将在未来进行cisdiered。
Bulk mongodb insert in Meteor or Node的答案显示了如何通过在节点中解决方法来实现它。