在Meteor中插入数千个文档



在Meteor中将数千行插入集合的最佳方式是什么?

当我在循环中插入时,我可以在页面上看到由于Collection.find().count()而被动更新的文档数量。在循环结束并插入所有文档之前,我对知道文档的数量不感兴趣。在MongoDB中插入大量数据时,是否有任何好的实践要记住?

<标题>编辑

当我使用

createFolders: function() {
  var folders = [];
  for   (var i = 0; i < 10000; i++) {
    folders.push({ name: i });
  }
  Folders.batchInsert(folders);
},

插入文档,但服务器显示RangeError: Out of memory并重新启动

Meteor没有默认的批量插入功能,所以你的自动运行将触发每个插入操作

这是一个允许批量加载的包- mikowals:批插入

如果您对每个用户的所有内容始终发布到数据库不感兴趣,您可以从您的项目meteor remove autopublish中删除自动发布包,如果您还没有。这样,您就可以在插入所有行之前限制流星魔法的发生。插入完成后,可以在整个集合上使用meteor.publish将其"推送"给所有用户。

不完全确定这是否是你所想的,希望它能有所帮助

您应该能够将一个文档数组传递给单个collection.insert()调用

Mongo还提供了一些批量插入操作。请看这里http://docs.mongodb.org/manual/core/bulk-write-operations/

不确定流星是否支持。

最新更新