Confronto tra numeri
Fa parte della sezione Database con MongoDB del percorso Node.js di Coddy. Lezione 8 di 29.
Un filtro può trovare un valore esatto o confrontare un intervallo numerico. Per trovare un intervallo, usa un operatore di confronto all’interno del filtro del campo. $gte significa maggiore o uguale a.
const minimum = Number(input.minimum);
const list = await products.find({price: {$gte: minimum}}).toArray();I valori della stringa di query arrivano come testo. Converti un limite numerico con Number prima di confrontarlo con i numeri memorizzati. Questo esempio seleziona i prodotti il cui prezzo è almeno pari al minimo richiesto. Il risultato rimane un array anche se corrisponde un solo documento. Nella prossima lezione combinerai filtri facoltativi nella route della libreria.
Sfida
FacileIn exercise.js, restituisci i libri il cui anno numerico è almeno input.from. Il server fornisce questo valore dalla stringa di query. Restituisci i documenti corrispondenti, usando la raccolta fornita.
Prova GET /result?from=1960: Dune e Kindred corrispondono. Prova ?from=1970: corrisponde solo Kindred. Prova ?from=2000: restituisci un array vuoto. Gli input di questo esercizio sono anni numerici validi.
Lascia che sia il database a confrontare gli anni con $gte. Un limite di 1965 include Dune oltre a Kindred.
Provalo tu
export async function exercise(books, input) {
return await books.find().toArray();
}
Tutte le lezioni di Database con MongoDB
1Documenti
Un libro come documentoRaccolte e databaseConnessione a MongoDBLettura dei documenti memorizzatiInserimento di documentiRicerca di un documentoRicerca tramite ObjectIdConfronto tra numeriFiltri di queryScelta dei campi restituitiOrdinamento dei risultati della queryMantenere i primi risultatiProiezione, ordinamento e limiteEsercitati da solo: Playground Express