MongoDB查询计数
我想按MongoDB查询计数,mongodb,count,Mongodb,Count,我想按month、day和year计算名为appId的字段数 我知道在SQL中,您可以执行以下操作: SELECT COUNT(appID) FROM stats GROUP BY YEAR(record_date), MONTH(record_date), DAY(record_date) 这如何转化为mongodb?我试过这个: { $group : { _id: { month : { $month : "$date" },
month
、day
和year
计算名为appId
的字段数
我知道在SQL中,您可以执行以下操作:
SELECT COUNT(appID)
FROM stats
GROUP BY YEAR(record_date), MONTH(record_date), DAY(record_date)
这如何转化为mongodb?我试过这个:
{
$group : {
_id: {
month : { $month : "$date" },
day : { $dayOfMonth : "$date" },
year : { $year : "$date" },
},
count: { $sum: * } //*all the fields?
}
}
另外,如果
criticalThreshold
大于criticalThreshold
,我如何计算appId
的数量?您几乎就到了,只需为组中的每个记录加上“1”就可以了
{
$group : {
_id: {
month : { $month : "$date" },
day : { $dayOfMonth : "$date" },
year : { $year : "$date" },
},
count: { $sum: 1 }
}
}
对于第二个问题,您可能想看看聚合框架:
db.stats.aggregate([
{ "$match": { "criticalThreshold": { $gt: "critical" } } },
{ "$group":
{
_id:
{
month : { $month : "$date" },
day : { $dayOfMonth : "$date" },
year : { $year : "$date" },
},
count: { $sum: 1 }
}
}
])