ルートドキュメントなしでコレクションのフィールド(配列)からすべての埋め込みドキュメントを選択する方法はありますか?このコレクションMongoDBルート以外の基準ですべての埋め込みドキュメントを選択
{ "_id" : 1, "cars" : [{"brand": "audi", "color": "red"}, {"brand": "audi", "color": "yellow"}]}
{ "_id" : 2, "cars" : [{"brand": "audi", "color": "blue"}, {"brand": "seat"}]}
与え例えば、私はそれだけでdb.collection.find()
projection
と、そのマッチング基準で可能であるように思われません、次のような出力
{"brand": "audi", "color": "red"}
{"brand": "audi", "color": "blue"}
{"brand": "audi", "color": "yellow"}
を持つブランドaudi
ですべての車を選択したいと思います常にルートドキュメントに関連しています。
@SagarReddyブランド= 'audi'と一致する車が少なくとも1台あるすべてのルートオブジェクトを選択します。しかし、例えば、2番目の文書の1台の '座席'の車が間違って含まれることになります。 –
'db.collection.find({'carss.brand': 'audi'}、{'cars。$':1})' – styvane
@Styvaneこれは最初に一致するレコードのみを取得します。私はOPにはすべての一致するエントリが必要だと思います。 – Veeram