Menu
CoddyTech

Сравнение чисел

Часть раздела Базы данных с MongoDB путешествия по Node.js на Coddy. Урок 8 из 29.

Фильтр может находить точное значение или сравнивать числовой диапазон. Чтобы найти значения в диапазоне, используйте оператор сравнения в фильтре поля. $gte означает «больше или равно».

const minimum = Number(input.minimum);
const list = await products.find({price: {$gte: minimum}}).toArray();

Значения строки запроса передаются как текст. Преобразуйте числовой предел с помощью Number, прежде чем сравнивать его с сохранёнными числами. В этом примере выбираются товары, цена которых не меньше запрошенного минимального значения. Результат остаётся массивом, даже если условию соответствует только один документ. В следующем уроке объединяются необязательные фильтры в маршруте книжной полки.

challenge icon

Задание

Легко

В 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