我在MongoDB中存储了一些具有以下结构的文档:
DOCUMENT 1
{
"_id":{
"$oid":"634c4eb3421aa4567782ffc7af"
},
"name":"John Doe",
"wins":{
"texas":{
"football":{
"count":1,
},
"basketball":{
"open_count":1,
}
}
}
}
DOCUMENT 2
{
"_id":{
"$oid":"634c4eb3421aa4567782ffc7af"
},
"name":"Johnny Doey",
"wins":{
"texas":{
"football":{
"count":3,
},
"basketball":{
"open_count":4,
}
}
}
}
在这里,我试图得到一个学生的胜利的游戏类型。例如:这个结果应该能告诉我足球比赛的总胜利数(包括两个学生)。2有了上面的文件,总胜利数(1+3 = 4,即John Doe赢1场+Johnny Doey赢1场)。
我无法为这个案例得出正确的pymongo聚合查询。请求对如何实现这一点发表评论。
我试过group by
,但它只对值起作用,而不对文档的键起作用(在这种情况下,足球是计算所有学生在足球比赛中获胜的关键)。
1条答案
按热度按时间mqkwyuun1#
好的,我找到了答案。我用$group尝试的方向是正确的,但是我写查询的方式有一些问题。
这可以用来计算足球的总胜利数。