Mongo を使用して、配列内のオブジェクトのフィールドに特定の値を持つエントリをクエリすることは可能ですか。
たとえば、field1 にオブジェクトの配列があり、そのうちの 1 つに値が 1 のフィールド「one」があるすべてのオブジェクトを検索するとします。このクエリは、コレクションから次のオブジェクトを返す必要があります。
{_id: 0000, field1: [{one: 1, two: 2}, {one: 'uno', two: 'dos'}]}
Mongo を使用して、配列内のオブジェクトのフィールドに特定の値を持つエントリをクエリすることは可能ですか。
たとえば、field1 にオブジェクトの配列があり、そのうちの 1 つに値が 1 のフィールド「one」があるすべてのオブジェクトを検索するとします。このクエリは、コレクションから次のオブジェクトを返す必要があります。
{_id: 0000, field1: [{one: 1, two: 2}, {one: 'uno', two: 'dos'}]}
必要なものは次のとおりだと思います。
db.collection.find( { field1: { $elemMatch: { one: 1 } } } );
http://docs.mongodb.org/manual/reference/operator/elemMatch/#op._S_elemMatch