Операторы запросов и выборки в MongoDB

0 Акции
0
0
0
0

Введение

В 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") } })
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может понравиться