みなさん、良い一日を。次のようなコレクションとドキュメントがあるとします。
test_doc = {
"ID" : "123",
"a" : [
{
'x' : "/",
'y' : "2000",
'z' : "1000"
},
{
'x' : "/var",
'y' : "3500",
'z' : "3000"
}
]
}
必要なのは、単一のプロパティ az を取得することです。MongoDB では、次のクエリを使用しています。
db.testcol.find({"ID":"123","a.x":"/"},{'a.z':1})
これはこれを返します:
{ "_id" : ObjectId("skipped"), "a" : [ { "z" : "1000" }, { "z" : "3000" } ] }
ご覧のとおり、すべての z プロパティが返されますが、条件が の場合は最初または 2 番目のプロパティのみが必要です{"ID":"123","a.x":"/var"}
。問題は、この状況で単一のプロパティを取得するにはどうすればよいですか? それは単なる設計の問題ですか、それとも返されたドキュメントをコード (python) で処理する必要がありますか? どんな提案でも大歓迎です。