🔎 Filtrado, proyecciones y ordenamiento

Filtrado y proyecciones en MongoDB

🔎 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:

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 campo
  • 0 → 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().

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.

Publicar un comentario

0 Comentarios