能不能在多条MongoDB
记录中,聚合查询,一次输出多个字段的总记录条数 比如
{ "month" : 3, "day" : 5, "year" : 2019 } { "month" : 2, "day" : 4, "year" : 2018 } { "month" : 3, "day" : 1, "year" : 2018 } { "month" : 5, "day" : 2, "year" : 2019 } { "month" : 5, "day" : 1, "year" : 2019 }
比如一次性查询: { mOnth= 3, year = 2019 }
输出结果集: { mOnthCount= 2, yearCount = 3}
现在我只能根据字段去查找记录数,不能去给字段匹配相应的值去查询。
![]() | 1 lwd219 2019-08-23 14:21:17 +08:00 aggregate ? |
2 licht114 2019-08-23 14:53:05 +08:00 坐等 MongoDB 大神,我也想知道有没有骚操作 |
3 hengo OP @lwd219 对,以前我是一个一个查的,效率比较低,因为我们这边数据量可能比较大,所以想一次性查,效率稍微高一点。 |
4 Philippa 2019-08-23 15:45:59 +08:00 ``` { "$group": { "_id": null, "month": { '$sum': { '$cond': [ {'$eq': ["$month", "3"]}, 1, 0 ] } }, "year": { '$sum': { '$cond': [ {'$eq': ["$year", "2019"]}, 1, 0 ] } }, } }, {$project: { 'year': 1, 'month': 1, _id: 0 } } ``` 没测过 |
5 phpdever 2019-08-23 17:02:06 +08:00 ![]() |