Base de Datos
Operaciones READ en MongoDB
En este capítulo, aprenderemos a realizar operaciones READ en MongoDB, lo que implica consultar documentos dentro de las colecciones. El comando principal para realizar lecturas en MongoDB es find(), que nos permite buscar y recuperar documentos que coincidan con determinados criterios.
Recuperando Todos los Documentos
El uso más simple de find() es recuperar todos los documentos en una colección. Si queremos obtener todos los usuarios de la colección users, usamos el siguiente comando:
javascript
MongoDB devuelve los documentos en formato JSON, y el comando find() sin parámetros devuelve todos los registros de la colección. Esto puede no ser eficiente cuando la colección contiene un gran número de documentos, por lo que a menudo es mejor usar filtros.
Filtrando Resultados con find()
Para filtrar los resultados y obtener solo los documentos que cumplan con ciertos criterios, podemos pasar un objeto de consulta al método find(). Aquí un ejemplo donde buscamos los usuarios que tienen más de 25 años:
javascript
Operadores de Comparación
MongoDB ofrece varios operadores para comparar valores dentro de los documentos:
- $gt: Mayor que (greater than)
- $lt: Menor que (less than)
- $gte: Mayor o igual que (greater than or equal to)
- $lte: Menor o igual que (less than or equal to)
- $eq: Igual a (equal to)
- $ne: No igual a (not equal to)
A continuación, un ejemplo de cómo combinar operadores de comparación:
javascript
Proyección de Campos
En algunas consultas, solo necesitamos obtener ciertos campos de los documentos. MongoDB nos permite especificar qué campos queremos incluir o excluir en los resultados usando una proyección. Aquí un ejemplo donde queremos obtener solo los nombres y correos electrónicos de los usuarios:
javascript
Inclusión y Exclusión de Campos
- Incluir un campo: Especificamos el campo con un valor de 1 en el objeto de proyección.
- Excluir un campo: Especificamos el campo con un valor de 0.
No es posible mezclar inclusión y exclusión de campos en la misma consulta, excepto con el campo _id.
Ordenando los Resultados
MongoDB nos permite ordenar los resultados de una consulta utilizando el método sort(). Aquí un ejemplo donde ordenamos a los usuarios por edad de forma descendente:
javascript
- 1: Orden ascendente.
- -1: Orden descendente.
Limitando y Paginando Resultados
Cuando trabajamos con grandes volúmenes de datos, es útil limitar la cantidad de resultados que obtenemos. MongoDB permite limitar los resultados con limit() y saltar un número específico de documentos con skip(), lo que es útil para implementar paginación.
Limitar Resultados
javascript
Paginación
Para paginar los resultados, podemos usar una combinación de limit() y skip(). Aquí un ejemplo de cómo obtener la segunda página de resultados con cinco documentos por página:
javascript
Operadores Lógicos en Consultas
Podemos combinar varias condiciones en una consulta usando operadores lógicos como $and, $or, y $not. Por ejemplo, para obtener usuarios que tengan más de 25 años o que vivan en Nueva York, podemos usar el siguiente comando:
javascript
Ejemplo con $and
Si quisiéramos combinar condiciones con $and, el comando sería:
javascript
Resumen
En este capítulo, hemos aprendido a realizar operaciones de lectura en MongoDB utilizando el método find(). Vimos cómo filtrar resultados, proyectar campos, ordenar, limitar y paginar los resultados, así como cómo utilizar operadores lógicos en nuestras consultas. En el próximo capítulo, exploraremos cómo actualizar documentos en MongoDB utilizando el método update().
- Introducción a las Bases de Datos
- Introducción a SQL y MySQL
- Diseño de Bases de Datos Relacionales
- Operaciones CREATE en SQL
- Operaciones INSERT en SQL
- Operaciones SELECT en SQL
- Operaciones UPDATE en SQL
- Operaciones DELETE en SQL
- Seguridad y Gestión de Usuarios en SQL
- Introducción a NoSQL y MongoDB
- Modelado de Datos en NoSQL
- Operaciones CREATE en MongoDB
- Operaciones READ en MongoDB
- Operaciones UPDATE en MongoDB
- Operaciones DELETE en MongoDB
- Seguridad y Gestión en MongoDB
- Optimización de Bases de Datos
- Integración con Aplicaciones
- Migración y Escalabilidad de Bases de Datos
- Conclusión y Recursos Adicionales
![](/chuck-b/chuck-b-1.webp)