导入格式的15,000个文档json文件的最佳方法是什么(但是带有+30个foo字段)
[{"foo1":"foo1data1", "foo2":"foo2data1"}, {"foo1":"foo1data2", "foo2":"foo2data2"}...
{"foo1":"foo1dataN", "foo2":"foo2dataN"}])
到流星集合? 我尝试使用mongoimport,但创建了ObjectID而不是_id,而我无法在没有自动发布的情况下使其工作,尽管使用Meteor创建的其他集合在客户端工作正常。
答案 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
包装器异步代码。