馃攷 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