Mongodb 一个请求有多个计数?
我有没有办法在一个请求中返回多个计数 而不是运行Mongodb 一个请求有多个计数?,mongodb,count,database,Mongodb,Count,Database,我有没有办法在一个请求中返回多个计数 而不是运行users.find({gender:“male”}).count()并获取231然后运行users.find({gender:'female}).count()获取416可以返回{男性:“231”,女性:“416”}。我知道map reduce可以做到这一点,这是我的最佳选择吗?在聚合框架中可以做到这一点 db.users.aggregate({$group:{_id:'$gender',count:{$sum:1}}}) 拉梅什维尔是正确
users.find({gender:“male”}).count()
并获取231
然后运行users.find({gender:'female}).count()
获取416
可以返回{男性:“231”,女性:“416”}
。我知道map reduce可以做到这一点,这是我的最佳选择吗?在聚合
框架中可以做到这一点
db.users.aggregate({$group:{_id:'$gender',count:{$sum:1}}})
拉梅什维尔是正确的。
$group
命令可能就是您要查找的
例如,以下查询:
db.people.aggregate({$group:{{u id:'$gender',total:{$sum:1}}})
将产生以下结果:
{
"result": [
{
"_id": "m",
"total": 49988
},
{
"_id": "f",
"total": 50012
}
],
"ok": 1
}
您可以在此处阅读有关MongoDB聚合框架的更多信息:
希望有帮助