Menu
CoddyTech

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.

challenge icon

Desafio

Fácil

Em 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

Pratique por conta própria: Playground de Express