我有一个如下的集合:-
{
_id: 5,
"org_name": "abc",
"items": [
{
"item_id": "10",
"data": [
// Values goes here
]
},
{
"item_id": "11",
"data": [
// Values goes here
]
}
]
},
// Another sub document
{
_id: 6,
"org_name": "sony",
"items": [
{
"item_id": "10",
"data": [
// Values goes here
]
},
{
"item_id": "11",
"data": [
// Values goes here
]
}
]
}
每个子文档对应于各个组织,每个组织中都有一个array
of items
。
我需要的是从items
数组中选择单个元素,通过提供item_id
.
我已经尝试过了:-
db.organizations.find({"_id": 5}, {items: {$elemMatch: {"item_id": {$in: ["10", "11"]}}}})
但它会返回带有 *item_id* "10"OR
的项目列表和带有 *item_id* "11" 的项目列表。
我需要的是为组织“abc”获取 item_id 10 和 11 的值。请帮忙。