ドキュメントのプロトタイプ:
{
"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
pymongoを使用してmongodbで?
次のクエリはオブジェクトを返します。
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"}}])
query(cursor) オブジェクトではなく、空のリストを返します。
また、出力を a、b、cd のみのフィールドに制限できるように、どのように $project を含めることができますか?
e='E' をフィルタリングするようにコレクションを作成したことに注意してください。