Comparando números
Parte da seção Bancos de dados com MongoDB do Journey de Node.js da Coddy. Lição 8 de 29.
Um filtro pode corresponder a um valor exato ou comparar um intervalo numérico. Para corresponder a um intervalo, use um operador de comparação dentro do filtro do campo. $gte significa maior que ou igual a.
const minimum = Number(input.minimum);
const list = await products.find({price: {$gte: minimum}}).toArray();Os valores da string de consulta chegam como texto. Converta um limite numérico com Number antes de compará-lo com os números armazenados. Este exemplo seleciona produtos cujo preço é pelo menos o mínimo solicitado. O resultado continua sendo um array mesmo que apenas um documento corresponda. A próxima lição combina filtros opcionais na rota da estante de livros.
Desafio
FácilEm exercise.js, retorne os livros cujo ano numérico seja pelo menos input.from. O servidor fornece esse valor a partir da cadeia de consulta. Retorne os documentos correspondentes usando a coleção fornecida.
Teste GET /result?from=1960: Dune e Kindred correspondem. Teste ?from=1970: apenas Kindred corresponde. Teste ?from=2000: retorne um array vazio. As entradas deste exercício são anos numéricos válidos.
Deixe o banco de dados comparar os anos com $gte. Um limite de 1965 inclui Dune e Kindred.
Experimente você mesmo
export async function exercise(books, input) {
return await books.find().toArray();
}
Todas as lições de Bancos de dados com MongoDB
1Documentos
Um livro como documentoColeções e bancos de dadosConectando-se ao MongoDBLendo documentos armazenadosInserindo documentosEncontrando um documentoEncontrando por ObjectIdComparando númerosFiltros de consultaEscolhendo os campos retornadosOrdenando os resultados da consultaMantendo os primeiros resultadosProjeção, ordenação e limitePratique por conta própria: Playground de Express