场景
- mongo aggregate 先通过 m a t c h 过 滤 掉 一 部 分 , 然 后 将 筛 选 出 来 的 传 递 给 match过滤掉一部分, 然后将筛选出来的传递给 match过滤掉一部分,然后将筛选出来的传递给group, 这是正常的流程;
但是没有想到执行是按照传递的参数的顺寻,而不是索引($match $group)
代码
- 下面可以正确得到需要数值写法 ($match在前)
db.getCollection('bill_day').aggregate([
{
$match:{month: {$lte:"209105", $gte:'201905'}}
},
{
$group: {
_id: "$date",
section_number_sum: {$sum : "$section_invoked_number"},
money_sum: {$sum: "$money"}
}
}
])
db.getCollection('bill_day').aggregate([
{
$group: {
_id: "$date",
section_number_sum: {$sum : "$section_invoked_number"},
money_sum: {$sum: "$money"}
}
},
{
$match:{month: {$lte:"209105", $gte:'201905'}}
},
])