【发布时间】:2020-09-09 18:37:07
【问题描述】:
我有以下类型的文档,我必须在其中根据给定值查找库存元素。即返回ele = 5的所有库存。
{"item":"journal",
"instock":[
{ "warehouse":"A", "ele":[2,4,5] },
{ "warehouse":"C", "ele":[8,5,2] },
{ "warehouse":"F", "ele":[3] },
{ "warehouse":"K", "ele":[2,8,4] }
]
}
我尝试使用 $elemMatch,但它只生成第一个元素。
db.inventory.find({"item": "journal"}, {"_id": 0, "item": 0, "instock":{$elemMatch: {"ele": {$in: [5]}}} })
但它只是给出:
{ "instock" : [
{ "warehouse" : "A", "ele" : [ 2, 4, 5 ] }
]}
期望是
{ "instock" : [
{ "warehouse" : "A", "ele" : [ 2, 4, 5 ] },
{ "warehouse" : "C", "ele" : [ 8, 5, 2 ] }
]}
我应该如何获得预期的结果?
【问题讨论】:
标签: mongodb mongodb-query aggregate