Comparación de números
Parte de la sección Bases de datos con MongoDB del Journey de Node.js de Coddy. Lección 8 de 29.
Un filtro puede coincidir con un valor exacto o comparar un intervalo numérico. Para coincidir con un intervalo, usa un operador de comparación dentro del filtro del campo. $gte significa mayor o igual que.
const minimum = Number(input.minimum);
const list = await products.find({price: {$gte: minimum}}).toArray();Los valores de la cadena de consulta llegan como texto. Convierte un límite numérico con Number antes de compararlo con los números almacenados. Este ejemplo selecciona los productos cuyo precio es al menos el mínimo solicitado. El resultado sigue siendo un arreglo incluso si solo coincide un documento. La siguiente lección combina filtros opcionales en la ruta de la estantería.
Desafío
FácilEn exercise.js, devuelve los libros cuyo año numérico sea al menos input.from. El servidor proporciona ese valor a partir de la cadena de consulta. Devuelve los documentos coincidentes usando la colección proporcionada.
Prueba GET /result?from=1960: Dune y Kindred coinciden. Prueba ?from=1970: solo coincide Kindred. Prueba ?from=2000: devuelve un arreglo vacío. Las entradas de este ejercicio son años numéricos válidos.
Deja que la base de datos compare los años con $gte. Un límite de 1965 incluye tanto Dune como Kindred.
Pruébalo tú mismo
export async function exercise(books, input) {
return await books.find().toArray();
}
Todas las lecciones de Bases de datos con MongoDB
1Documentos
Un libro como documentoColecciones y bases de datosConexión a MongoDBLectura de documentos almacenadosInserción de documentosBúsqueda de un documentoBúsqueda por ObjectIdComparación de númerosFiltros de consultaSelección de los campos devueltosOrdenación de los resultados de consultaConservar los primeros resultadosProyección, ordenación y límite2Modificación de documentos
Actualización de documentosOperadores de actualizaciónPractica por tu cuenta: Playground de Express