1

导入格式的 15,000 个文档 json 文件的最佳方法是什么(但带有 +30 foo 字段)

[{"foo1":"foo1data1", "foo2":"foo2data1"}, {"foo1":"foo1data2", "foo2":"foo2data2"}...           
{"foo1":"foo1dataN", "foo2":"foo2dataN"}]) 

流星收藏?我尝试使用 mongoimport,但创建了 ObjectID 而不是 _id,如果没有自动发布,我无法使其工作,尽管使用 Meteor 创建的其他集合在客户端工作得很好。

4

1 回答 1

3

假设文件位于服务器上,pathToFile您可以执行以下操作:

var fs = Npm.require("fs");
var Fiber = Npm.require("fibers");

fs.readFile(pathToFile, 'utf8', function (err, data) {
  // handle error if there is some

  data = JSON.parse(data);

  Fiber(function () {

    _.each(data, function (document) {
      SomeMeteorCollection.insert(document);
    });

  }).run();
});

请注意,Fiber如果您想在某些nodejs异步代码中调用任何特定于流星的例程,例如collections API ,则需要包装器。

于 2013-11-12T00:47:35.947 回答