コレクションが埋め込まれたドキュメントがありますが、キーが欠落している要素はほとんどなく、それらすべての要素を見つける必要があります。次に例を示します。
var foo = {name: 'foo', embedded: [{myKey: "1", value: 3}, {myKey: "2", value: 3}]}
db.example.insert(foo)
var bar = {name: 'bar', embedded: [{value: 4}, {myKey: "3", value: 1}]}
db.example.insert(bar)
埋め込まれたオブジェクトの 1 つにキー「myKey」がないため、「bar」オブジェクトを返すクエリが必要です。
を使用しようとしました$exists
が、すべての埋め込み要素にキーがない場合にのみ返されます
db.example.find({'embedded.myKey': {$exists: true}}).size()
// -> 2
db.example.find({'embedded.myKey': {$exists: false}}).size()
// -> 0
少なくとも 1 つの埋め込み要素にキー「myKey」がないドキュメントを見つけるにはどうすればよいですか?