【发布时间】:2014-05-12 20:40:07
【问题描述】:
对我来说还有一个 mongodb 问题:
我正在尝试为所有用户在我的 mongodb 中对数组中的一些项目进行 $group:这是一个文档
{
name: "Foo Bar",
groups:[{
groupName: "Group D",
score:[2,1]
},
{
groupName: "Group D",
score:[3,0]
},
{
groupName: "Group C",
score:[2,2]
}]
}
所有用户的结构都相同,只是分数发生了变化。 我想检查所有用户,并返回他们所有的“D组”对象,并与他们的名字组合在一起——我的解决方案的结果需要如下所示:
result:
[{name:"Foo Bar",
groups:[{
groupName: "Group D",
score:[2,1]
},
{
groupName: "Group D",
score:[3,0]
}]
},{//*More users*//}]
所以我知道我需要 $group,可能还有 $all 、 $aggregate 、 $wind ...
但是我看到的所有示例都是针对查询部分而不是 find() 的投影部分。我需要从所有用户那里获取此信息,但我不想处理我的所有用户并开始扫描 mongodb 之外的信息......换句话说 - 复杂的投影,是否可能?
【问题讨论】:
标签: mongodb aggregation-framework