Указанные данные:
{_id: 1, group: {value1: true, value2: true, value3: false, value4: true, value5: false, value6: true}}
{_id: 2, group: {value1: true, value2: true, value3: false, value4: true, value5: false, value6: true}}
{_id: 3, group: {value1: false, value2: false, value3: true, value4: false, value5: false, value6: true}}
Теперь мы хотим запросить все документы, для которых следующий объект соответствует
$or: [
{value1: true},
{value2: true},
{value3: true},
{value4: true}
]
, но с опцией, по крайней мере, например, 3 (переданный параметр - minMatchCount
) из 6 операторов должны совпадать. Обратный путь: оператор 1 может завершиться неудачей.
Есть ли решение без создания огромного $and
- $or
запроса с каждым возможным вариантом?
Пример вывода:
[
{_id:1, ...},
{_id:2, ...}
]