如何将本机MongoDB Shell聚合转换为MongoDB Node.js聚合?

时间:2016-08-29 19:20:59

标签: node.js mongodb ecmascript-6

我有两个等效代码。一个人在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构建我的数据自动化?

0 个答案:

没有答案