插入多个文档

时间:2014-06-10 10:37:00

标签: mongodb meteor

我正在使用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可以做到这一点吗?

2 个答案:

答案 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的答案显示了如何通过在节点中解决方法来实现它。