Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

请教一个 mongodb 统计的问题,有知道的可以提供个思路吗

$
0
0

比如在 mysql 中,我想获得某个表 companyId 为123, 唯一 date 的总记录数,用下面这条语句就可以做到。 SELECT COUNT(DISTINCT(date)) FROM tb_test WHERE companyId = 123

在 mongodb 中,翻阅了相关文档没有找到相应的统计方法啊。 数据结构片段,如下

[{
    date: '2017-04-14',
    uid: 521,
    companyId: 123
}, {
    date: '2017-04-14',
    uid: 522,
    companyId: 123
}, {
   date: '2017-04-15',
   uid: 521,
   companyId: 123
}, {
   date: '2017-04-15',
   uid: 522,
   companyId: 123
}]

目前通过 group 聚合拿到的结果,并不是我想要的,我希望拿到的 count 总记录数是2.

db.test.aggregate([
     { $match: {companyId: 123} },
     { $group: {_id: { date: '$date' },count: { $sum: 1 }} },
])

Viewing all articles
Browse latest Browse all 14821

Trending Articles