Оператор $match в агрегации MongoDB позволяет фильтровать документы.
Фильтрация по полю age
Пример использования $match: запрос age > 25 отфильтрует документы, где поле age больше 25. Если используется только $match, агрегация эквивалентна запросу find с тем же условием. Результатом будут документы, удовлетворяющие условию.
Работа с коллекцией persons
Выполните агрегацию на коллекции persons с помощью следующего кода:
aggregate([
{
$match: {
isActive: true
}
}
])
Результат: документы с полем isActive со значением true.
Фильтрация по размеру массива: оператор $size
Оператор $size определяет размер массива. Найдем документы, где массив tags содержит три элемента:
aggregate([
{
$match: {
'tags': { $size: 3 }
}
}
])
Результат: документы с массивом tags из трех элементов. Этот запрос эквивалентен find({ ‘tags’: { $size: 3 } }).
Оператор $match эффективно фильтрует документы в агрегационных конвейерах, подобно find.