比如在 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 }} },
])