在MongoDB中查询计数行(JasperSoft) [英] Query in MongoDB for count rows (JasperSoft)
本文介绍了在MongoDB中查询计数行(JasperSoft)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含3个有价值字段的集合(status,userid,sid)。
我如何计算每个smtpid和每个状态的行数?
状态字段的值可以是0,1,2或3.
I've an collection with 3 valuable fields (status, userid, sid).
How can i count rows for each smtpid and each status?
The status field can have values 0,1,2 or 3.
例如:
sid status userid
125 0 200
125 0 213
156 1 154
123 2 584
For example:
sid status userid
125 0 200
125 0 213
156 1 154
123 2 584
目的:
sid状态计数
125 0 2
156 1 1
123 2 1
Purpose:
sid status count
125 0 2
156 1 1
123 2 1
查询示例:
{
runCommand : {
aggregate : 'sCollecion',
pipeline : [
{ $match : { time : { '$gte' : '2014-01-01 00:00:00', '$lt' : '2014-01-01 02:00:00' } } },
{ $group : { _id : { StatusID : '$status', SID : '$sid' , UserID : '$userid' } } }
]
}
}
推荐答案
您只需在组管道中添加一个计数:
You can simply add a count to your 'group' pipeline:
{
$group : {
_id : {
StatusID : '$status',
SID : '$sid',
UserID : '$userid'
},
count : { $sum : 1 }
}
}
这篇关于在MongoDB中查询计数行(JasperSoft)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文