Chuck's Academy

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
"Este comando selecciona y devuelve todos los documentos en la colección users."

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
"Este comando selecciona los documentos en la colección users donde el campo age es mayor que 25, utilizando el operador de comparación $gt."

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
"Aquí estamos seleccionando usuarios cuya edad está entre 18 y 30 años, utilizando los operadores $gte y $lt."

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
"En este ejemplo, estamos seleccionando solo los campos name y email, y excluyendo el campo _id de los resultados."

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
"En este caso, estamos ordenando los resultados por la edad, de mayor a menor, utilizando el valor -1 en el campo age."
  • 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
"Este comando devuelve solo los primeros cinco documentos de la colección users."

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
"En este ejemplo, estamos saltando los primeros cinco documentos y recuperando los siguientes cinco, implementando así la paginación."

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
"Este comando selecciona usuarios que tengan más de 25 años o que vivan en la ciudad de Nueva York, utilizando el operador lógico $or."

Ejemplo con $and

Si quisiéramos combinar condiciones con $and, el comando sería:

javascript
"Este ejemplo selecciona solo los usuarios que cumplen con ambas condiciones, es decir, que tienen más de 25 años y viven en Nueva York."

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().


Pregúntame lo que sea