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
会匹配。
我有这些 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
会匹配。