I have a collection with documents are like this:
{
"date" : 20200817,
"items" : [
{
"name" : "item1", "values" : ["val1", "val2", "val3", "val4"]
},
{
"name" : "item2", "values" : ["val1", "val4"]
},
{
"name" : "item3", "values" : ["val1", "val3"]
}
]
}
I want to get list of name of items that val3 is exist in values like this
['item1', 'item3']
I have this query :
db.test.find({
'dateM': 20200817,
'items': {
'$elemMatch':{
'values':{
'$elemMatch':{
$in:['val3']
}
}
}
}
}, {'lists.name': 1})
but i get list of name of all items.
Where is my query wrong?
What can I do?
Thanks