MongoDB es un SGBD (Sistema Gestor de Base de Datos) documental, que usa el modelo de bases de datos NoSQL.
MongoDB es un popular motor de bases de datos documentales, también llamado modelo NoSQL (Not Only SQL).
Es un SGBD Open Source que comenzó su desarrollo en 2007, aunque se publicó la primera versión considerada apta para producción en 2011, por lo tanto se trata de un motor de bases de datos bastante moderno.
Como tod motor de base de datos documental, la información se organiza en forma de documentos y colecciones de documentos. El formato de los documentos de MongoDB se llama BSON, que es muy similar al popular JSON o los literales de objetos Javascript en general. Los documentos por tanto consisten en Pares clave / valor, donde los valores pueden ser otros documentos clave / valor en cualquier nivel de anidación, tal como se requiera en cada objeto.
Una de las características de MongoDB, que hereda de las NoSQL en general, es que el esquema de los documentos es dinámico. Esto quiere decir que en una misma colección puede haber documentos que tengan distintos tipos de datos, con diversos campos que pueden variar entre unos y otros documentos.
Como Sistema Gestor de Bases de Datos ocupa actualmente la quinta posición en popularidad y uso, siendo el más usado de los sistemas gestores de bases de datos documentales.
El sitio oficial de MongoDB es https://www.mongodb.com/
Más información:

Bases de datos relacionales vs NoSQL
MongoDB lo podemos usar para almacenar datos de todo tipo, aunque por el modelo de datos NoSQL no siempre será la elección más adecuada.
Es el modelo de base de datos más común es el relacional, que está basado en tablas con sus relaciones. Es el que implementan los motores más comunes como MySQL, Oracle, PostgreSQL y otras.
Por las características de las bases de datos documentales (NoSQL), Mongo será más apreciado en el caso que el proyecto tenga unos requisitos especiales en los siguientes factores:
- Velocidad
- Volumen
- Variabilidad
Entre ellos, el más relevante en contraste con las bases de datos relacionales, es la variabilidad. En el modelo relacional los datos son más rígidos y si una entidad requiere una columna diferente que las que tienen otras entidades es imposible proporcionarla de manera individual. Simplemente esa columna se tendrá que crear para todos los registros de esa entidad. Sin embargo, en MongoDB y las bases de datos documentales cada documento puede tener un esquema particular, que no necesita ser el mismo que el esquema de otros documentos de la misma colección.
Además, las bases de datos documentales suelen soportar una mayor cantidad de datos en las colecciones y soportan mejor también la concurrencia, de una manera más natural.
Casos de uso de MongoDB
MongoDB se puede usar para todo tipo de aplicaciones, pero su uso es más común en aquellas que requieran manejar muchos datos y muy variables. Es por tanto común usar Mongo y otras bases de datos documentales en proyectos como:
- Internet de las cosas
- Analítica y estadística
- Concurrencia
- Juegos
En aplicaciones donde se adapte mejor el modelo relacional aún podemos usar MongoDB para áreas de estas aplicaciones que requieran una variabilidad y un volumen de datos elevado. Por ejemplo, podemos tener una aplicación definida con el modelo relacional y usar MongoDB para implementar una funcionalidad de Chat que es independiente del modelo de datos de otras partes del negocio.
Lenguajes soportados por MongoDB
MongoDB está soportado de manera oficial en todos los lenguajes más populares. Ente ellos se encuentran:
- Java
- C#
- PHP
- Python
- NodeJS
- GO
- Ruby
- Otros...
De todos modos, aunque MongoDB no se soporte oficialmente en un lenguaje no quiere decir que no se pueda usar, ya que existen multitud de drivers creados por la comunidad para usarla en ellos.
Crea artículos, recursos o comparte información sobre MongoDB
Preguntas y respuestas de MongoDB
Se han recibido 1 faqs en MongoDB