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.
Wyzwanie
ŁatwyW 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
1Dokumenty
Książka jako dokumentKolekcje i bazy danychŁączenie z MongoDBOdczytywanie zapisanych dokumentówWstawianie dokumentówWyszukiwanie jednego dokumentuWyszukiwanie według ObjectIdPorównywanie liczbFiltry zapytańWybieranie zwracanych pólSortowanie wyników zapytaniaOgraniczanie do pierwszych wynikówProjekcja, sortowanie i limit2Modyfikowanie dokumentów
Aktualizowanie dokumentówOperatory aktualizacjiPoćwicz samodzielnie: Edytor online Express