使用正确的_ids将JSON文档数组/对象导入Meteor集合

时间:2013-11-11 23:06:20

标签: json mongodb meteor

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

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

到流星集合? 我尝试使用mongoimport,但创建了ObjectID而不是_id,而我无法在没有自动发布的情况下使其工作,尽管使用Meteor创建的其他集合在客户端工作正常。

1 个答案:

答案 0 :(得分: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();
});

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