我想使用Laravel查询客户集合(mongodb),并且应该使用GROUPBY('YEAR(created_at)'),并且每年没有记录
答案 0 :(得分:0)
根据您的评论,还在查询中添加了日期范围。
db.customer.aggregate(
[
{
$match: {
'$and': [
{
'created_at': {
$gte: new Date('2018-01-01')
},
'created_at': {
$lte: new Date('2019-12-31')
}
}
]
}
}, {
$group: {
_id: {
year: {
$year: "$created_at"
}
},
count: {
$sum: 1
}
}
}
]
)
输出就像
[
{
"_id": {
"year": "2018"
},
"count": 12
},
{
"_id": {
"year": "2019"
},
"count": 19
}
]