将聚合结果返回为数组:mongodb

时间:2013-09-09 00:29:11

标签: javascript arrays node.js mongodb

我在mongodb的db.js包装器库中有这个函数:

findAllSorted: function(name, sortBy, callback) {
  db.createCollection(name, function(err, collection) {
    collection.aggregate([{$sort: sortBy}], function(err, result) {
      console.log(result); // I want to return result as an array.
    });
  });
},

我想通过回调将result作为数组返回。我该怎么做?例如,我使用db.findAllSorted('quotes', {unitprice: -1}, callback);调用此函数,据我所知,应该以最高到最低的单位价格降序返回我的股票报价列表。

感谢。

1 个答案:

答案 0 :(得分:1)

collection.aggregate(query,callback)将结果作为数组返回。您在上述函数中需要做的就是调用回调。假设你想让函数调用者也处理错误:

findAllSorted: function(name, sortBy, callback) {
    db.createCollection(name, function(err, collection) {
        collection.aggregate([{$sort: sortBy}], function(err, result) {
            callback(err, result);
        });
    });
},