2017-02-23 1 views
-1

をcritera返すために:

db.getCollection('MyCollection').find({ 
    $or: [{ 

      "Zips": {     
       $elemMatch: { "ZipCode5": "95757" , "ZipCode4": "6237"} 
      } 

    }, { 
     "Zips": { 
       $elemMatch: { "ZipCode5": "95757" , "ZipCode4": "0000"} 
      } 
    }] 
}) 

を、私は私のコレクションの両方のドキュメントを持っていますが、私は場合にのみ、最初の基準に一致する文書を返すようにしたいです両方存在し、第1のdosn'tが存在すれば第2の。 現在、上記のクエリは、両方が存在する場合に両方を返します。

答えて

0

なぜちょうど最初の行に限定されない?..

db.getCollection('MyCollection').find({ 
    $or: [{ 

      "Zips": {     
       $elemMatch: { "ZipCode5": "95757" , "ZipCode4": "6237"} 
      } 

    }, { 
     "Zips": { 
       $elemMatch: { "ZipCode5": "95757" , "ZipCode4": "0000"} 
      } 
    }] 
}).limit(1) 
関連する問題