Операторы оценочного запроса в MongoDB
В этой небольшой заметке мы рассмотрим операторы оценочного запроса и примеры их использования.
Вышеупомянутые операторы позволяют выполнять оценку запроса. Вот их разновидности:
- $regex (позволит определить regex-выражения в запросе);
- $text (полезен при работе с индексами);
- $jsonSchema (проверяет данные по схеме);
- $expr;
- $mod ( { field: { $mod: [ divisor, remainder ] } }).
Пример использования
Что происходит в коде выше: - мы задействуем $regex, чтобы найти покемонов с "pi" в именах; - создаем валидатор во время создания коллекции с такими параметрами, как имя, тип и уровень; - создаем простую схему для нашей коллекции покемонов посредством $jsonSchema; - используем $mod для модификации поля с числом; - получаем покемонов, уровень которых делится на 5.
$expr
В самом начале мы намеренно пропустили оператор $expr -- это особый оператор, который помогает применять в запросе выражения агрегирования. Также его можно использовать в целях сравнения 2-х полей. К примеру, можно сравнить уровень и поле защиты в коллекции исследуемых покемонов.
Также существует оператор $cond -- он помогает создавать условия (if, then, else).
Источник: https://dev.to/paras594/learn-mongodb-query-documents-ii-2jgk.