馃攷 Filtrado, proyecciones y ordenamiento
En MongoDB, las operaciones de filtrado, proyecci贸n y ordenamiento forman parte de las consultas m谩s utilizadas del d铆a a d铆a. Son equivalentes a:
- Filtrado →
WHEREen SQL - Proyecci贸n →
SELECT campo1, campo2 - Ordenamiento →
ORDER BY
Se realizan con el m茅todo find(), que permite seleccionar datos seg煤n condiciones,
definir qu茅 campos mostrar y ordenar los resultados de forma muy eficiente.
馃攳 1️⃣ Filtrado de documentos
El filtrado consiste en obtener documentos que cumplan una condici贸n. Ejemplo b谩sico: productos con precio mayor de 50.
db.productos.find({ precio: { $gt: 50 } })
Ejemplos comunes:
-
Igualdad
db.usuarios.find({ pais: "Espa帽a" }) -
Mayor o menor
db.productos.find({ stock: { $lte: 10 } }) -
Filtrar por dos condiciones
db.productos.find({ categoria: "gaming", precio: { $lt: 200 } }) -
Con operadores l贸gicos
db.productos.find({ $or: [ { categoria: "gaming" }, { categoria: "oficina" } ] })
馃З 2️⃣ Proyecciones — seleccionar campos espec铆ficos
La proyecci贸n sirve para mostrar solo ciertos campos de un documento, lo cual mejora el rendimiento y reduce el peso de la consulta.
Ejemplo: mostrar solo nombre y precio:
db.productos.find(
{ categoria: "gaming" },
{ nombre: 1, precio: 1, _id: 0 }
)
1→ mostrar campo0→ ocultarlo_id: 0→ es opcional, pero se suele ocultar
Ejemplo con campo calculado:
db.productos.find(
{},
{ nombre: 1, precioIVA: { $multiply: ["$precio", 1.21] } }
)
馃搶 3️⃣ Ordenamiento de resultados
Para ordenar documentos se usa el m茅todo sort().
1→ Ascendente-1→ Descendente
Ejemplo: ordenar productos del m谩s caro al m谩s barato:
db.productos.find().sort({ precio: -1 })
Ejemplo: ordenar usuarios por fecha de registro:
db.usuarios.find().sort({ fechaRegistro: 1 })
Ejemplo combinado: filtrar, proyectar y ordenar:
db.productos.find(
{ categoria: "gaming" },
{ nombre: 1, precio: 1, _id: 0 }
).sort({ precio: -1 })
馃 4️⃣ Resumen r谩pido
- Filtrado: obtener documentos seg煤n una condici贸n.
- Proyecci贸n: elegir qu茅 campos se muestran.
- Ordenamiento: ordenar los resultados ascendente o descendente.
- Estas operaciones son la base del trabajo diario con MongoDB.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias