Arrays MongoDB对文档数组的查询
我在数据库中有以下数据Arrays MongoDB对文档数组的查询,arrays,mongodb,Arrays,Mongodb,我在数据库中有以下数据 { item: "journal", instock: [ { warehouse: "A", qty: 5 }, { warehouse: "C", qty: 15 } ] }, { item: "notebook", instock: [ { warehouse: "C", qty: 5 } ] }, { item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty
{ item: "journal", instock: [ { warehouse: "A", qty: 5 }, { warehouse: "C", qty: 15 } ] },
{ item: "notebook", instock: [ { warehouse: "C", qty: 5 } ] },
{ item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 15 } ] },
{ item: "planner", instock: [ { warehouse: "A", qty: 40 }, { warehouse: "B", qty: 5 } ] },
{ item: "postcard", instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
我要找出仓库里有什么东西
纸张数量15
明信片的数量35
db.getCollection('warehouses').aggregate([
{
$unwind: "$instock"
},
{
$match: {
$or: [
{
$and: [{ 'item': 'paper' }, { 'instock.qty': { $eq: 15 } }]
},
{
$and: [{ 'item': 'postcard' }, { 'instock.qty': { $eq: 35 } }]
}
]
}
}
])
尝试使用此查找查询
db.warehouse.find(
{
$or: [
{
item: "paper",
instock: { $elemMatch: { qty: 15 } }
},
{
item: "postcard",
instock: { $elemMatch: { qty: 35 } }
}
]
}
)