2017-01-04 3 views
3

で文書を取得する:私は正確に同じキーを持つすべての文書を取得したい私はコムスコレクション内の文書フォーマットを使用している場合とまったく同じキー

{ 
    "recipients": { 
     "key1": "value1", 
     "key2": "value2", 
     "key3": "value3", 
    } 
} 

。言い換えれば、上の例で、私が "key1"、 "key2"、 "key3"を問い合わせると、私は上記の文書を取得します。一方、私は次のドキュメントをお持ちの場合:

「キー1」、「KEY2」、「KEY3」の問い合わせ
{ 
    "recipients": { 
     "key1": "value1", 
     "key2": "value2", 
     "key3": "value3", 
     "key4": "value4", 
    } 
} 

は何も返さないはずです。

答えて

0

$との迅速な解決策が存在する:

db.collection.find({ 
    "recipients.key1":{ 
     $exists:true 
    }, 
    "recipients.key2":{ 
     $exists:true 
    }, 
    "recipients.key3":{ 
     $exists:true 
    }, 
    "recipients.key4":{ 
     $exists:false 
    } 
}) 

しかし、これは、他のすべての可能なキーを知っている必要とし、書き込みするのは非常にpainfullすることができ..

関連する問題