2017-02-23 55 views
-1

我有以下查询:

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

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

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

我有我收集两份文件,但我只想要返回匹配,如果第一个标准的文件两者都存在,第二个如果第一个存在。 目前,如果上述查询都存在,则返回两者。

回答

0

为什么不只是局限于第一排呢?..

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

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

    }, { 
     "Zips": { 
       $elemMatch: { "ZipCode5": "95757" , "ZipCode4": "0000"} 
      } 
    }] 
}).limit(1)