我有一个名为 Students 的集合。
文档有一个 house
字段,其中包含一个字符串值,例如:
“格兰芬多”
、“赫奇帕奇”
、“拉文克劳”
、“斯莱特林”
我正在显示每个学院的学生人数。
为此我正在做这样的事情:
G = Students.find({ house: 'Gryffindor' }).count();
H = Students.find({ house: 'Hufflepuff' }).count();
R = Students.find({ house: 'Ravenclaw' }).count();
S = Students.find({ house: 'Slytherin' }).count();
和显示。
有没有一种方法可以在单个查询中完成?
最佳答案
您可以使用 mongo aggregation 在单个查询中完成此操作.
Students.aggregate([
{
$group : {
_id : "$house",
count: { $sum: 1 }
}
}
])
关于mongodb - 如何仅在一个查询中获取对一个集合的多个查询的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34309088/