MongoDB
MongoDB uno de los grandes sistemas de bases de datos NOSQL.
MongoDB es un sistema de base de datos basado en colecciones de documentos y uno de los sistemas de bases de datos NOSQL más utilizados. La estructura de MongoDB se basa en BSON (Binary JSON) que es un tipo de documento similar a JSON (al que se le ha añadido nuevos tipos de datos) que ofrecen un mejor rendimiento en bases de datos. A diferencia de los sistemas SQL, MongoDB no dispone de una estructura fija, tablas relacionales y tampoco emplea el lenguaje SQL si no que utiliza Javascript y ordena los datos en colecciones, que pueden contener documentos (objetos BSON) con un esquema variable, es decir, que dentro de una colección puede haber documentos que contengan campos distintos.
A continuación se muestra un ejemplo de una tabla en MySQL y un ejemplo de una colección en MongoDB.
Ejemplo de tabla Usuarios en MySQL
+---------------------------+-------------------------------+
| name | email |
+---------------------------+-------------------------------+
| Frederique Jacobson I | scremin@example.net |
| Mr. Buck Brakus | swolf@example.org |
| Ms. Tia Wintheiser | cblanda@example.com |
| Dr. Vincent Feeney Sr. | langworth.stacy@example.com |
| Rebeca Dietrich | kasey06@example.net |
Ejemplo de tabla Usuarios en MongoDB
INSTALAR MONGODB
Usuarios:
{
name: "Frederique Jacobson I",
email: "scremin@example.net"
},
{
name: "Mr. Buck Brakus",
email: "swolf@example.org"
},
{
name: "Ms. Tia Wintheiser",
email: "cblanda@example.com"
},
{
name: "Dr. Vincent Feeney Sr.",
email: "langworth.stacy@example.com"
},
{
name: "Rebeca Dietrich",
email: "kasey06@example.net"
}
Instalación en Linux mediante repositorios (Debian)
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
Debian 9
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Debian 10
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
apt update
sudo apt install -y mongodb-org
(versiones anteriores)
sudo apt install mongodb
Para más información sobre la instalación en las distintas plataformas y distribuciones, la página oficial de MongoDB dispone de documentación detallada.
Instalación en Linux mediante paquete de instalación
Descargar el paquete desde la página oficial de MongoDB
En Debian y Ubuntu MongoDB crea el archivo de configuración /etc/mongod.conf y almacena los datos y registros en /var/lib/mongodb y /var/log/mongodb respectivamente.
Nota: Si existe una versión instalada es recomendable desinstalarla antes de instalar MongoDB. Además del paquete server es recomendable el paquete shell para disponer de la consola de MongoDB.
Instalación en Windows mediante paquete de instalación
Descargar el paquete desde la página oficial de MongoDB. La instalación ofrece la opción personalizada (Custom) que permite modificar la ruta y desactivar la opción de instalar como servicio (marcada por defecto) que conlleva que el demonio de MongoDB se encuentre arrancado cada vez que se inicia el sistema.
INICIAR MONGODB
Para iniciar MongoDB es necesario ejecutar desde la carpeta de instalación el archivo mongod mientras que para iniciar la consola de MongoDB es necesario ejecutar el archivo mongo.
Iniciar demonio en Linux
mongod
Con el servicio de MongoDB iniciado es posible acceder a su consola desde otra terminal
mongo
Es posible que al arrancar el demonio, se encuentre ya iniciado devolviendo alguna línea de error similar a la siguiente:
NETWORK [initandlisten] addr already in use
La línea anterior indica que MongoDB ya está iniciado, para solucionarlo detenemos el servicio.
sudo systemctl stop mongodb
Y lo volvemos a iniciar.
mongod
Nota: En algunas versiones de MongoDB es necesaria la creación del directorio /data/db en la raíz del sistema
Iniciar demonio en Windows
Ejecutar el archivo mongod.exe para arrancar el demonio y mongo.exe para la consola, ubicados en la ruta asignada durante la instalación que por defecto es C:/Archivos de programa/MongoDB/Server/[versión]/bin/
CREAR BASE DE DATOS
En MongoDB las bases de datos no disponen de un comando específico para ser creadas. La base de datos se selecciona (con el comando "use") y se crea al guardar algún documento.
use [nombre_basedatos]
db.bookmarks.save({ id: 1, name: "Manolo", edad: 52, email: "manolo@gmail.com"});
show dbs
db.bookmarks.find();
ROBO3T
Robo3T es un gestor de base de datos MongoDB con interfaz gráfica que permite gestionar las bases de datos de forma rápida y sencilla. Anteriormente era conocido con el nombre de Robomongo. Es una herramienta muy útil equiparable a PHPMyAdmin en las bases de datos MySQL.
Para instalar Robo3T es necesario descargar el paquete de instalación desde la página oficial de Robo3T
Nota: En Linux es necesario extraer el contenido del directorio a /usr.
Para poder comentar es necesario iniciar sesión