aggregate中使用
$match
$group
$project
$sort
db.collection.aggregate([
//过滤条件 = where processStatus = 0
{
$match: {
processStatus: 0
}
},
//分组 = group by formatterDate(createOn, '%Y-%m-%d')
{
$group: {
//分组条件 根据日期(年-月-日)
_id: {
$dateToString: {
format: '%Y-%m-%d',
date: '$createOn'
}
},
// 相当于count(*) 统计该分组有多少条
totalCount: {
$sum: 1
},
// 相当于count(*) 统计该分组有多少条
totalCount: {
$sum: 1
}
}
},
//分组筛选 = having
{
//总记录数小于100
$match: {
totalCount: {
$lte: 200
}
}
},
//返回分组后指定的列
{
$project: {
'日期': '$_id',
'总记录条数': '$totalCount'
}
},
//根据日期降序 = order by _id
{
$sort: {
_id: - 1
}
}
]);
版权声明:本文为qq_32419835原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。