queryLab · software_de_entrenamiento en espera
NoSQL · consulta

[{ }] Filtrar con find()

El equivalente a WHERE: operadores $gt, $in, $regex y más.

find(filtro) es el WHERE de MongoDB. El filtro es un documento: { campo: valor } exige igualdad, y los operadores con $ expresan condiciones: $gt $gte $lt $lte (comparación), $in $nin (listas), $ne (distinto), $regex (patrón de texto), $exists (existe el campo). Combinas condiciones con $or y $and.

MongoDB
db.col.find({ x: { $gte: 10 } })
SQL equivalente
SELECT * FROM col WHERE x >= 10;

Práctica · ejecuta cada bloque

01Comparación
Empleados con salario ≥ 15000. El operador va como subdocumento del campo.
nosql-find.mongo
Presiona «ejecutar» para ver el resultado.
02Campo anidado + lista
De Ventas o IT, navegando el subobjeto department.name.
nosql-find.mongo
Presiona «ejecutar» para ver el resultado.
03Texto con $regex y combinación
Apellido que empieza con M y salario sobre 6000. $or tomaría cualquiera de las dos.
nosql-find.mongo
Presiona «ejecutar» para ver el resultado.

▸ Ejercicios

  1. Empleados con salario entre 5000 y 9000 (usa $gte y $lte).
  2. Empleados cuyo job.title sea exactamente "Programmer".
  3. Empleados cuyo firstName empiece con J ($regex).