Menu
CoddyTech

Porównywanie liczb

Część sekcji Bazy danych z MongoDB ścieżki Node.js w Coddy. Lekcja 8 z 29.

Filtr może dopasować dokładną wartość lub porównać zakres liczbowy. Aby dopasować zakres, użyj operatora porównania w filtrze pola. $gte oznacza większe niż lub równe.

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

Wartości parametrów zapytania są przekazywane jako tekst. Przed porównaniem limitu liczbowego z zapisanymi liczbami przekonwertuj go za pomocą Number. Ten przykład wybiera produkty, których cena jest co najmniej równa żądanej wartości minimalnej. Wynik pozostaje tablicą, nawet jeśli pasuje tylko jeden dokument. W następnej lekcji połączysz opcjonalne filtry na trasie półki z książkami.

challenge icon

Wyzwanie

Łatwy

W pliku exercise.js zwróć książki, których rok jako liczba jest większy lub równy input.from. Serwer pobiera tę wartość z ciągu zapytania. Zwróć pasujące dokumenty, używając przekazanej kolekcji.

Wypróbuj GET /result?from=1960: pasują Dune i Kindred. Wypróbuj ?from=1970: pasuje tylko Kindred. Wypróbuj ?from=2000: zwróć pustą tablicę. W tym ćwiczeniu dane wejściowe są prawidłowymi latami zapisanymi jako liczby.

Pozwól bazie danych porównywać lata za pomocą $gte. Granica 1965 obejmuje zarówno Dune, jak i Kindred.

Spróbuj swoich sił

export async function exercise(books, input) {
    return await books.find().toArray();
}

Wszystkie lekcje w sekcji Bazy danych z MongoDB

Poćwicz samodzielnie: Edytor online Express