文档原型:
{
"d": "D",
"g": {
"c": "C",
"a": "A",
"b": "B"
},
"e": "E",
"f": "F"
}
相当于:
SELECT a, b, c, d from Table WHERE d='D' AND e='E' GROUP BY a
在 mongodb 中使用 pymongo?
以下查询返回对象:
db.<collection>.find({'d': 'D'}, {'g.c': 1, 'g.a': 1, 'g.b': 1, 'd': 1, '_id': 0})
但是,以下没有:
db.<collection>.aggregate([{$match:{"d":"D", "e":"E"}},
{$group:{_id:"$g.a"}}])
它返回一个空列表,甚至没有查询(光标)对象。
另外,我如何将 $project 包含在其中,以便我可以将输出限制为仅 a、b、cd 的字段?
注意我已经创建了集合以便过滤 e='E'。