Условные операторы в MongoDB

В данном уроке мы рассмотрим условные операторы. Они нам помогают выбирать документы, подходящие по определенным условиям, добавляют гибкость нашим запросам.

Оператор $lt

Оператор $lt выбирает все документы, в которых заданное поле меньше переданного значения:

let cond = {age: {$lt: 27}}; let res = await coll.find(cond).toArray(); console.log(res);

Получите продукты, у которых цена меньше 500.

Оператор $gt

Оператор $gt выбирает все документы, в которых заданное поле больше определенного значения:

let cond = {age: {$gt: 26}}; let res = await coll.find(cond).toArray(); console.log(res);

Получите продукты, у которых цена больше 500.

Оператор $lte

Оператор выбирает все документы, в которых заданное поле меньше либо равно переданного значения:

let cond = {age: {$lte: 27}}; let res = await coll.find(cond).toArray(); console.log(res);

Получите пользователей, чей возраст меньше либо равен 44.

Получите продукты, у которых цена меньше или равна 500.

Оператор $gte

Оператор выбирает все документы, в которых заданное поле больше либо равно определенного значения:

let cond = {age: {$gte: 26}}; let res = await coll.find(cond).toArray(); console.log(res);

Получите продукты, у которых цена больше или равна 500.

Оператор $eq

Оператор $eq выбирает все документы, в которых заданное поле равно определенному значению:

let cond = {age: {$eq: 25}}; let res = await coll.find(cond).toArray(); console.log(res);

Получите продукты, у которых цена равна 500.

Оператор $ne

Оператор выбирает все документы, в которых заданное поле не равно переданному значению:

let cond = {age: {$ne: 25}}; let res = await coll.find(cond).toArray(); console.log(res);

Получите продукты, у которых цена не равна 500.

Оператор $in

Оператор выбирает все документы, в которых заданное поле равно одному из значений переданного массива:

let cond = {age: {$in: [25, 26]}}; let res = await coll.find(cond).toArray(); console.log(res);

Получите продукты, у которых цена равна 500, 600 или 700.

Оператор $nin

Оператор выбирает все документы, в которых заданное поле не равно значениям переданным в массиве, либо поле не существует:

let cond = {age: {$nin: [25, 26]}}; let res = await coll.find(cond).toArray();

Получите продукты, у которых цена не равна 100 или 200.

Использование с другими методами

Условные операторы также можно использовать с методами обновления коллекции или удаления документов:

let cond = {age: {$lte: 27}}; let data = {$set: {salary: 1000}}; await coll.updateMany(cond, data);

Удалите все продукты, у которых цена больше 300.

Удалите все продукты, у которых цена равна 100 или 200.