Допустим есть документ коллекции такого вида:
{
"objects": [
{
"a": 1,
"prop":2,
},
{
"a": 2,
"prop":3
}
]
}
Есть задача найти документы имеющие вложенные документы с одинаковыми свойствами. Допустим нужно найти документ который содержит два вложенных документа со свойством а == 1
Я построил условие:
{
"objects": { "$elemMatch": { "$and": [ {"a":1}, { "a":1} ]} }
}
Этот запрос как и ожидается вернет мне документ, где есть любые вложенные документы со свойством а:1 и а = 2 и т.д.. А вот как бы составить запрос, что бы он вернул мне только те документы, где есть два вложенных документа со свойствами а=1 и их должно быть обязательно столько, сколько условий мы написали.
В идеале должен вернуть документы только такого вида.
{
"objects": [
{
"a": 1,
"prop":5
},
{
"a": 1,
"prop":6
}
]
}
Буду очень признателен за любые подсказки