mongodb 根据匹配的键对查找对象

mongodb find objects on basis of pair of keys both matching

我有这些 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 的对象... & 项目为 vwz2 且数量为 100 的对象。

可以在一个 mongo 查询中实现吗?

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

只会return 1,&如何通过另一组我不知道。

你想要$or定义的是另一组可以匹配的条件:

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

所以它基本上是一个 "list" 的查询条件。请注意 "qty" 与您的示例不匹配,但 180 会匹配。