В данном уроке мы рассмотрим условные операторы. Они нам помогают выбирать документы, подходящие по определенным условиям, добавляют гибкость нашим запросам.
Оператор $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
.