En este tema, aprenderás cómo leer documentos desde una base de datos MongoDB. La lectura de documentos es una operación fundamental en cualquier base de datos, y MongoDB ofrece varias formas de realizar consultas para obtener los datos que necesitas.

Contenidos

Introducción a la Lectura de Documentos

Para leer documentos en MongoDB, utilizamos el método find(). Este método permite realizar consultas en una colección y devolver los documentos que coincidan con los criterios especificados.

Sintaxis Básica

db.collection.find(query, projection)
  • query: Especifica los criterios de búsqueda.
  • projection: Especifica los campos que se deben devolver.

Consultas Básicas

Leer Todos los Documentos

Para leer todos los documentos de una colección, puedes usar una consulta vacía {}.

db.users.find({})

Leer Documentos con un Criterio Específico

Para leer documentos que coincidan con un criterio específico, debes pasar un objeto de consulta.

db.users.find({ age: 25 })

Este ejemplo devuelve todos los documentos en la colección users donde el campo age es igual a 25.

Operadores de Consulta

MongoDB proporciona varios operadores de consulta que te permiten realizar búsquedas más complejas.

Operador $gt (Mayor que)

db.users.find({ age: { $gt: 25 } })

Este ejemplo devuelve todos los documentos donde el campo age es mayor que 25.

Operador $lt (Menor que)

db.users.find({ age: { $lt: 25 } })

Este ejemplo devuelve todos los documentos donde el campo age es menor que 25.

Operador $in (En un Conjunto)

db.users.find({ age: { $in: [25, 30, 35] } })

Este ejemplo devuelve todos los documentos donde el campo age es igual a 25, 30 o 35.

Tabla de Operadores Comunes

Operador Descripción Ejemplo
$gt Mayor que { age: { $gt: 25 } }
$lt Menor que { age: { $lt: 25 } }
$gte Mayor o igual que { age: { $gte: 25 } }
$lte Menor o igual que { age: { $lte: 25 } }
$ne No igual a { age: { $ne: 25 } }
$in En un conjunto { age: { $in: [25, 30, 35] } }
$nin No en un conjunto { age: { $nin: [25, 30, 35] } }

Proyección de Campos

La proyección te permite especificar qué campos deben ser devueltos en los documentos que coinciden con la consulta.

Incluir Campos

db.users.find({ age: 25 }, { name: 1, age: 1 })

Este ejemplo devuelve solo los campos name y age de los documentos donde age es igual a 25.

Excluir Campos

db.users.find({ age: 25 }, { _id: 0, password: 0 })

Este ejemplo excluye los campos _id y password de los documentos donde age es igual a 25.

Consultas Avanzadas

Consultas con Múltiples Condiciones

Puedes combinar múltiples condiciones usando el operador $and.

db.users.find({ $and: [{ age: { $gt: 25 } }, { name: "John" }] })

Este ejemplo devuelve todos los documentos donde age es mayor que 25 y name es "John".

Consultas con Condiciones Alternativas

Puedes usar el operador $or para especificar condiciones alternativas.

db.users.find({ $or: [{ age: { $lt: 25 } }, { name: "John" }] })

Este ejemplo devuelve todos los documentos donde age es menor que 25 o name es "John".

Ejercicios Prácticos

Ejercicio 1: Leer Documentos con un Criterio Específico

Instrucciones:

  1. Lee todos los documentos de la colección products donde el campo category es igual a "Electronics".

Solución:

db.products.find({ category: "Electronics" })

Ejercicio 2: Usar Operadores de Consulta

Instrucciones:

  1. Lee todos los documentos de la colección orders donde el campo total es mayor que 100.

Solución:

db.orders.find({ total: { $gt: 100 } })

Ejercicio 3: Proyección de Campos

Instrucciones:

  1. Lee todos los documentos de la colección customers donde el campo age es menor que 30 y devuelve solo los campos name y email.

Solución:

db.customers.find({ age: { $lt: 30 } }, { name: 1, email: 1 })

Conclusión

En esta sección, has aprendido cómo leer documentos desde una base de datos MongoDB utilizando el método find(). Hemos cubierto consultas básicas, operadores de consulta, proyección de campos y consultas avanzadas. Practica estos conceptos con los ejercicios proporcionados para reforzar tu comprensión. En el próximo tema, aprenderás cómo actualizar documentos en MongoDB.

© Copyright 2024. Todos los derechos reservados