mongodb根据两对匹配的密钥找到对象

时间:2015-03-19 06:39:24

标签: mongodb mongodb-query

我有这些JSON对象

{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }

我想找到项目为abc2且数量为200的对象...& item为vwz2且其qty为100的对象。

可以在单个mongo查询中使用吗?

db.collection.find({"item":"abc2","qty":200})

只返回1,&如何通过另一套我不知道。

1 个答案:

答案 0 :(得分:3)

您希望$or定义的另一组条件可以匹配:

db.collection.find({ 
    "$or": [
        {"item":"abc2","qty":200},
        {"item":"VWZ2","qty":100}
    ]
})

所以它基本上是一个查询条件的“列表”。注意到“qty”与您的样本不匹配,但180会匹配。