MongoDB - Select multiple sub-dicuments from array using $elemMatch
I have a collection like the following:-
{
_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
]
}
]
}
Each sub document corresponds to individual organizations and each
organization has an array of items in them.
What I need is to get the select individual elements from the items array,
by providing item_id.
I already tried this:-
db.organizations.find({"_id": 5}, {items: {$elemMatch: {"item_id": {$in:
["10", "11"]}}}})
But it is returning either the item list with *item_id* "10" OR the item
list with *item_id* "11".
What I need is is the get values for both item_id 10 and 11 for the
organization "abc". Please help.
No comments:
Post a Comment