MongoDB агрегация: $match — полный гайд

Оператор $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.

Что будем искать? Например,программа