mognoDb фильтрация по пересечению
Есть записи в бд такого вида
{
"_id": "5f91fa1e2d6d3c2ed04d7784",
"externalId": 41,
"name": "Тестовое название 40.82042322246649",
"alias": "[{\"name\": \"Name1\", \"id\": 41}, {\"name\": \"Name2\", \"id\": 21, }]",
"__v": 0
}
хочу отфильтровать по полю alias
передаю такой ФИЛЬТР
{ alias: [41, 67, 123] }
Я хочу получить все записи у которых поле alias содержит одно из любых значений из массива для фильтрации
Например значение поля alias из объекта выше
"[{\"name\": \"Name1\", \"id\": 41}, {\"name\": \"Name2\", \"id\": 21, }]"
содержит первый элемент из массива фильтрации значит этот объект подходит.
Пытался использовать db.inventory.find( { alias: { $in: [ "A", "D" ] } } )
но это же на строгое равенство а мне надо что типа на вхождение одно из любых вариантов из фильтра
Ответы (1 шт):
Автор решения: твой кот
→ Ссылка
Так должно получиться:
db.inventory.find( { 'alias.id': { $in: [41, 67, 123] } } )