我有两个等效代码。一个人在MongoDB的原生shell中愉快地运行:
db.analytics.aggregate([
{ $match: { firmware_version: '1.6.186' } },
{ $limit: 10 },
{ $out: "TestingNodeAggs" }
], {allowDiskUse: true});
另一个旨在通过cron或类似的app启动/调度服务自动化shell脚本:
第二个问题是它似乎没有创建指定的输出集合!?!?
co(function*(){
var db = yield MongoClient.connect('mongodb://path.to.mongo.db');
var collection = db.collection('analytics');
var cursor = yield collection.aggregate([
{ $match: { firmware_version: '1.6.186' } },
{ $limit: 10 },
{ $out: "TestingNodeAggs" }
], {allowDiskUse: true});
var result = yield cursor.toArray();
console.log(result); // Returns 'pending'
});
第二个脚本运行后...我检查TestingNodeAggs集合无济于事。有人可以解释我应该如何使用Node.js构建我的数据自动化?