Введение
В MongoDB к операторам запросов относятся: сравнение, логический, элементарный, вычисление, географический, массивный, побитовый и комментаторский операторы.
операторы сравнения MongoDB
$eq
Оператор $eq задает условие равенства. Этот оператор соответствует документам, в которых значение поля равно указанному значению.
Синтаксис:
{ : { $eq: } }Пример:
db.books.find({ price: { $eq: 300 } })В этом примере запрос обращается к коллекции «Книги», чтобы выбрать все документы, у которых значение поля «Цена» равно 300.
$gt
Оператор $gt выбирает документы, в которых значение поля превышает указанное значение.
Синтаксис:
{ field: { $gt: value } }Пример:
db.books.find({ price: { $gt: 200 } })$gte
Оператор $gte выбирает документы, в которых значение поля больше или равно указанному значению.
Синтаксис:
{ field: { $gte: value } }Пример:
db.books.find({ price: { $gte: 250 } })$in
Оператор $in выбирает документы, в которых значение поля равно любому из значений в указанном массиве.
Синтаксис:
{ field: { $in: [, , …] } }Пример:
db.books.find({ price: { $in: [100, 200] } })$lt
Оператор $lt выбирает документы, в которых значение поля меньше указанного значения.
Синтаксис:
{ field: { $lt: value } }Пример:
db.books.find({ price: { $lt: 20 } })$lte
Оператор $lte выбирает документы, в которых значение поля меньше или равно указанному значению.
Синтаксис:
{ field: { $lte: value } }Пример:
db.books.find({ price: { $lte: 250 } })$ne
Оператор $ne выбирает документы, в которых значение поля не равно указанному значению.
Синтаксис:
{ : { $ne: } }Пример:
db.books.find({ price: { $ne: 500 } })$nin
Оператор $nin выбирает документы, в которых значение поля отсутствует в указанном массиве или отсутствует вовсе.
Синтаксис:
{ field: { $nin: [, , …] } }Пример:
db.books.find({ price: { $nin: [50, 150, 200] } })логические операторы MongoDB
$and
Оператор $and действует как логический оператор И над массивом. Массив должен содержать одно или несколько выражений, и он выбирает документы, удовлетворяющие всем выражениям в массиве.
Синтаксис:
{ $and: [ { }, { }, ....] }Пример:
db.books.find({ $and: [ { price: { $ne: 500 } }, { price: { $exists: true } } ] })$not
Оператор $not действует как логический оператор НЕ над указанным выражением и выбирает документы, которые не соответствуют соответствующему выражению.
Синтаксис:
{ field: { $not: { } } }Пример:
db.books.find({ price: { $not: { $gt: 200 } } })$nor
Оператор $nor действует как логический оператор NOR над массивом из одного или нескольких поисковых запросов, выбирая документы, которые не удовлетворяют ни одному из поисковых запросов в массиве.
Синтаксис:
{ $nor: [ { }, { }, ..... ] }Пример:
db.books.find({ $nor: [ { price: 200 }, { sale: true } ] })$or
<pعملگر $or به عنوان یک عملگر منطقی OR روی یک آرایه از دو یا چند عبارت عمل میکند و اسنادی را انتخاب میکند که حداقل یکی از عبارات را برآورده کنند.
Синтаксис:
{ $or: [ { }, { }, ... , { } ] }Пример:
db.books.find({ $or: [ { quantity: { $lt: 200 } }, { price: 500 } ] })Элементарные операторы MongoDB
$exists
Оператор $exists выбирает документы, содержащие указанное поле, если логическое значение равно true. Он также выбирает документы, содержащие это поле, если значение равно null.
Синтаксис:
{ field: { $exists: } }Пример:
db.books.find({ qty: { $exists: true, $nin: [5, 15] } })$type
Оператор $type выбирает документы, значение поля которых указано как тип BSON.
Синтаксис:
{ field: { $type: } }Пример:
db.books.find({ "bookid": { $type: 2 } })операторы оценки MongoDB
$expr
Оператор $expr позволяет использовать агрегатные выражения в языке запросов.
Синтаксис:
{ $expr: { } }Пример:
db.store.find({ $expr: { $gt: [ "$product", "price" ] } })$jsonSchema
Этот оператор выбирает документы, соответствующие указанной JSON-схеме.
Синтаксис:
{ $jsonSchema: }$mod
Оператор $mod выбирает документы, значение поля которых при делении на делитель имеет указанный остаток.
Синтаксис:
{ field: { $mod: [ divisor, remainder ] } }Пример:
db.books.find({ qty: { $mod: [ 200, 0 ] } })$regex
Этот оператор предоставляет возможности регулярных выражений для сопоставления строковых шаблонов в запросах. MongoDB использует регулярные выражения, совместимые с Perl.
Синтаксис:
{ : /pattern/ }Пример:
db.books.find({ price: { $regex: /789$/ } })$text
Оператор $text выполняет поиск по содержимому поля, индексированного текстовым индексом.
Синтаксис:
{ $text: { $search: , $language: , $caseSensitive: , $diacriticSensitive: } }Пример:
db.books.find({ $text: { $search: "Othelo" } })$где
Оператор “where” используется для передачи в механизм запросов строки, содержащей выражение JavaScript или полную функцию JavaScript.
Пример:
db.books.find({ $where: function() { return (hex_md5(this.name) == "9b53e667f30cd329dca1ec9e6a8") } })









