在nodeJS中使用Group来检索计数

时间:2015-12-14 14:19:58

标签: node.js mongodb express

我在Mongodb中通过名称日志获得此集合,其格式如下:

 {
    "name": "user1",
    "timestamp": "15-03-1990 03.45.00"
}

基本上我想要的是我在NodeJS中编写的REST API应该返回名称和名称出现次数的计数。

以下Mongodb查询效果很好并返回正确的值:

 db.logs.group({
"key": {
    "name": true
},
"initial": {
    "count": 0
},
"reduce": function(obj, prev) {
    if (true != null) if (true instanceof Array) prev.count += true.length;
    else prev.count++;
}
});

但是在下面的NodeJS代码中:

 exports.findAll = function(req, res) {
db.collection('logs', function(err, collection) {
    db.collection.group({
"key": {
    "name": true
},
"initial": {
    "count": 0
},
"reduce": function(obj, prev) {
    if (true != null) if (true instanceof Array) prev.count += true.length;
    else prev.count++;
}
}).toArray(function(err, items) {
        res.send(items);
    });
});
};

它返回以下错误:

TypeError: db.collection.group is not a function

我在这里做错了什么?

0 个答案:

没有答案