MongoDB es un sistema de gestión de bases de datos NoSQL. Está centrado en documentos y es de libre acceso. Lo especial de MongoDB es que almacena datos en formato BSON. Esto se parece mucho a JSON.1 Una de sus ventajas es que es Schema Less. Esto quiere decir que los documentos pueden tener diferentes estructuras sin problemas, algo imposible en otros tipos de bases de datos.1 Las bases de datos NoSQL se clasifican en 4 tipos principales: Key Value Stores, basadas en grafos, columnares y basadas en documentos.

Principales Características de MongoDB

  • Es un sistema NoSQL que se centra en documentos y es de código abierto.
  • Puede almacenar datos en formato BSON, que es muy parecido a JSON.
  • Se puede expandir horizontalmente para manejar mucha información.1
  • Tiene servicios en la nube, como MongoDB Atlas, que simplifican el manejo y la seguridad de los datos.1
  • Proporciona herramientas para hacer consultas y replicar los datos, garantizando que estén siempre disponibles.1

¿Qué es MongoDB?

MongoDB es un sistema de base de datos moderno y sin tablas, conocido como NoSQL2. Está pensado para almacenar documentos en lugar de filas de datos. Utiliza un formato similar a JSON, llamado BSON2. Esto permite más flexibilidad al guardar información. Es diferente a las bases de datos tradicionales porque no necesita una estructura fija2.

MongoDB es un sistema de base de datos NoSQL

MongoDB es parte de la categoría NoSQL, lo que indica que no sigue un modelo de tablas con filas y columnas2. En cambio, guarda la información en documentos que se relacionan de manera flexible2. Esta forma de guardar datos es más sencilla para manejar información variada. Además, es mejor para aplicaciones que necesitan escalar fácilmente2.

MongoDB es orientado a documentos y de código abierto

Como base de datos orientada a documentos, MongoDB guarda los datos en formato JSON o BSON2. Esto significa que cada dato se almacena en un tipo de documento. Al ser de código abierto, MongoDB invita a que la comunidad aporte y mejore su desarrollo. Así, es una opción dinámica y evolutiva para cualquier proyecto2.

MongoDB utiliza formato BSON similar a JSON

El formato que MongoDB usa, llamado BSON, es una variante binaria de JSON2. Se elige porque permite organizar los datos de forma clara y eficiente en los documentos. Por eso, MongoDB puede manejar información más compleja de manera simple2.

Bases de Datos NoSQL

Las bases de datos NoSQL se dividen en 4 tipos principales. Estos son Key Value Stores, basadas en grafos, columnares, y basadas en documentos. Cada una de ellas ofrece beneficios únicos. Por ejemplo,3 destacan por ser altamente escalables y flexibles. Son perfectas para manejar Big Data y Documentos JSON.

Las características clave de estas bases de datos incluyen la escalabilidad, rendimiento y flexibilidad en los esquemas. Son ideales para aplicaciones que necesitan procesar grandes cantidades de información.

Key Value Stores

Las Key Value Stores son vínculos directos entre una clave y un valor. Esto las hace excelentes para guardar4 cache o sesiones de usuario.4

Bases de datos basadas en grafos

Las bases de datos basadas en grafos modelan los datos como nodos y relaciones. Permiten usar la teoría de grafos para consultas eficaces.3

Bases de datos columnares

Las bases de datos columnares organizan la información por filas y columnas. Esto facilita hacer consultas rápidas. Son perfectas para manejar grandes volúmenes de datos.3

Bases de datos basadas en documentos

Por último, las bases de datos basadas en documentos, como MongoDB, permiten guardar documentos dentro de colecciones. Esto asegura un rendimiento excepcional.

También ofrecen mucha flexibilidad en comparación con otros tipos de bases de datos.3

Terminología SQL vs NoSQL

En MongoDB, las tablas se llaman colecciones. Una colección es un grupo de documentos. Estos documentos son como las filas en una base de datos relacional. Pero en vez de filas y columnas, usamos documentos en formato BSON.5

Cada base de datos tiene un archivo en el computador o servidor. En ellas guardamos las colecciones. A diferencia de las bases SQL, acá no se necesita un esquema fijo para los datos.5

Instalación de MongoDB con Docker Compose

Para instalar MongoDB con Docker Compose, es fácil. Usa este código:267

MongoDB es un tipo de base de datos especial. Es NoSQL y se enfoca en documentos, además es de código abierto.2 Guarda la información en BSON, que se parece a JSON. Es perfecto para datos que no tienen un formato fijo.67

Al instalar MongoDB en contenedores con Docker, puede tardar un poco. Esto pasa la primera vez por la descarga e instalación.7 Pero, una vez listo, puedes entrar al clúster de MongoDB fácilmente. Usa cualquier cliente de bases de datos en el puerto 27017. O al portal web en http://localhost:8081.7

MongoDB cuenta con controladores oficiales para varios frameworks y lenguajes populares. Por ejemplo, tiene para Node.js, PHP, y Python. Esto hace que sea sencillo usarlo en diferentes proyectos.6

También, ofrece una versión para empresas que se basa en suscripción. Y hay una versión gratuita para la comunidad.7 Además, hay herramientas con interfaz gráfica. Por ejemplo, Mongo Compass y Studio 3T (Robo 3T). Estas hacen que trabajar con MongoDB sea más fácil y visual.7

Imagen de instalación de MongoDB

Usar Docker Compose con MongoDB trae muchos beneficios. Por ejemplo, puedes escalar fácilmente. Mejora el rendimiento. Y te da flexibilidad en los esquemas. Esto es genial para manejar grandes volúmenes de datos, documentos JSON, y hacer consultas avanzadas.267

Tipos de Datos en MongoDB

MongoDB permite guardar muchos tipos de datos. Esto da libertad a los creadores para manejar la información como quieran. Algunos de estos tipos son:

Strings

Para texto, se usan los strings en MongoDB.2

Boolean

El tipo Boolean sirve para valores verdaderos o falsos.2

ObjectId

Un ObjectId es un número único que MongoDB asigna a cada entrada.2

Date

El tipo Date guarda fechas para operar con ellas después.2

Números

MongoDB maneja varios números como Doubles, Integers, y más.

Esto permite trabajar con números de diferentes formas.2

Documentos Embebidos

Con Documentos Embebidos, puedes guardar un documento dentro de otro.

Esto facilita la organización de información.2

Arrays

En los Arrays se pueden meter todos los datos que quieras, incluso arrays dentro de otros.2

Inserción de Datos desde la Consola

Para poner datos en MongoDB desde la consola, usa2 db.collection.insertOne(). Este método agrega un documento nuevo en una colección de la base de datos. Obtenemos un «insertedId» único de MongoDB tras hacer esto.2

El comando insertOne() tiene este formato:

ComandoDescripción
db.collection.insertOne({«key»: «value»})Inserta un nuevo documento en la colección especificada.

En este formato, «key» es el nombre del dato y «value» es el valor. Así, podemos añadir nuevos documentos sin tener un esquema fijo, como en otras bases de datos.28

MongoDB también tiene2 db.collection.insertMany(). Con esto, puedes agregar muchos documentos a la vez.

Inserción de datos MongoDB

Consultas Simples desde la Consola

Para realizar consultas fáciles en MongoDB, usa el comando find(). Este comando busca documentos que cumplen con una condición. MongoDB, un tipo especial de base de datos NoSQL, puede manejar muchos tipos de datos diferentes.

Por ejemplo, puede almacenar texto, valores verdaderos o falsos, fechas, números y más. Incluso documentos adentro de otros documentos, y arreglos con varios elementos.2

find

Usar find() es la manera más fácil de buscar en MongoDB. Con este método, puedes encontrar todos los documentos de una colección que responden a ciertas condiciones. Para ver como funciona, supongamos buscamos los usuarios con más de 30 años en la colección «usuarios». El código sería:

db.usuarios.find({ edad: { $gte: 30 } })

Lo que obtenemos es una lista de todos esos documentos. Podemos usar operadores de comparación como $eq, $gt, $gte, $lt, $lte, $ne, $in y $nin para buscar más específicamente.2

skip, limit, sort

MongoDB también incluye formas de mejorar nuestras consultas. Ofrece skip() y limit(), que ayudan con la paginación. Esto permite mostrar solo cierto número de resultados a la vez.2 Además, contamos con el método sort() para ordenar los resultados por campo.

En conclusión, MongoDB da muchas herramientas para buscar en las colecciones. Con sus funciones de consulta, podemos acceder a la información de forma eficaz. Estas capacidades, junto con su flexibilidad y capacidad de crecimiento, hacen a MongoDB ideal para Big Data y aplicaciones que buscan escalabilidad, rendimiento, y adaptabilidad de esquemas.29

Introducción a MongoDB: Bases de Datos NoSQL

MongoDB tiene varios operadores para hacer consultas más avanzadas en NoSQL. Estos se dividen en categorías que ayudan a mejorar las búsquedas y la manipulación de datos.

Operadores de Comparación

Hay operadores como $eq, $gt, $gte, $lt, $lte y $ne, que sirven para buscar por igualdad o tamaño en los documentos. Son claves para encontrar y seleccionar documentos que cumplan ciertos criterios.2

Operadores Lógicos

Para combinar condiciones, existen $and, $or y $not. Estos permiten hacer búsquedas más precisas aplicando lógica booleana. Son esenciales en ciertas consultas.2

Operadores por Elemento

Operadores como $exists, $type y $mod ayudan a filtrar por presencia, tipo de dato, o valor de campo. Son ideales para consultas que requieren detalles específicos de los datos.2

Operadores para Arreglos

Para campos de lista, existen $in, $nin, $all, $size y $elemMatch. Estos permiten hacer búsquedas complejas en documentos con arrays. Ayudan a encontrar y manipular datos en listas.2

Enlaces de origen

  1. https://aprenderbigdata.com/mongodb/
  2. https://davidcasr.medium.com/introducción-a-mongodb-8b59a4c3f652
  3. https://www.coursera.org/projects/base-datos-nosql
  4. https://www.editorialuoc.com/introduccion-a-las-bases-de-datos-nosql-usando-mongodb
  5. https://www.astera.com/es/knowledge-center/sql-vs-nosql/
  6. https://kinsta.com/es/base-de-conocimiento/que-es-mongodb/
  7. https://blog.damavis.com/introduccion-a-mongodb/
  8. https://medium.com/datapath/explorando-las-bases-de-datos-no-relacionales-nosql-databases-una-introducción-a-mongodb-ed2b82a5b6e2
  9. https://charlascylon.com/2013-06-10-tutorial-mongodb-introduccion-a-nosql-y-las-bases

Deja un comentario