Сравнение чисел
Часть раздела Базы данных с MongoDB путешествия по Node.js на Coddy. Урок 8 из 29.
Фильтр может находить точное значение или сравнивать числовой диапазон. Чтобы найти значения в диапазоне, используйте оператор сравнения в фильтре поля. $gte означает «больше или равно».
const minimum = Number(input.minimum);
const list = await products.find({price: {$gte: minimum}}).toArray();Значения строки запроса передаются как текст. Преобразуйте числовой предел с помощью Number, прежде чем сравнивать его с сохранёнными числами. В этом примере выбираются товары, цена которых не меньше запрошенного минимального значения. Результат остаётся массивом, даже если условию соответствует только один документ. В следующем уроке объединяются необязательные фильтры в маршруте книжной полки.
Задание
ЛегкоВ exercise.js верни книги, числовой год выпуска которых не меньше input.from. Сервер получает это значение из строки запроса. Верни подходящие документы, используя переданную коллекцию.
Попробуй GET /result?from=1960: подходят Dune и Kindred. Попробуй ?from=1970: подходит только Kindred. Попробуй ?from=2000: верни пустой массив. В этом упражнении вводятся допустимые числовые значения года.
Пусть база данных сравнивает годы с помощью $gte. Граница 1965 включает и Dune, и Kindred.
Попробуйте сами
export async function exercise(books, input) {
return await books.find().toArray();
}
Все уроки раздела Базы данных с MongoDB
Потренируйтесь самостоятельно: Песочница Express