En este artículo, vamos a explicar al completo y paso a paso la instalación de MongoDB. Aunque ya hablemos en artículos anteriores sobre que MongoDB es multiplataforma (compatible con Windows, Linux y Macintosh). Nosotros, nos centraremos únicamente en la instalación de Windows.

La instalación en si, es bastante sencilla, y no tiene grandes dificultades. Pero puede ocasionar algunos problemas si no se hacen todos los pasos ya que el proceso no es el de la típica instalación de siguiente siguiente, existen unos pasos adiccionales a realizar. También configuraremos las variables de entorno con el fin de dejarlo todo perfectamente funcionando. Además, explicaremos algunos conceptos adicionales que serán clave para entender cómo funciona Mongo en nuestro sistema.

Para los que trabajéis desde otro sistema operativo, os animo a visitar la documentación oficial: https://docs.mongodb.com/guides/server/install/

Si os parece y sin más preámbulo ¡Comenzamos!

Tipos de MongoDB:

Dentro de mongoDB, si visitamos su web www.mongodb.com tenemos multitud de proyectos. Nosotros, vamos a hablar de los 3 principales sobre los que nos centraremos a lo largo del curso:

  • MongoDB Atlass: es la solución que nos ofrece MongoDB como empresa para albergar nuestra database en la nube/cloud. Si finalmente decidimos albergarla en la nube, tan solo tendremos que conetarnos mediante a un driver a nuestro clúster de almacenamiento. Aunque por el momento no trabajaremos con él.

  • MongoDB Server: es la solución/el servidor que nos ofrece MongoDB para trabajar con nuestras databases desde nuestro propio equipo. MongoDB Server solamente nos permite trabajar desde la línea de comandos/terminal.

Por tanto, todo lo que utilicemos desde MongoDB Server se realizará desde la línea de comandos.

  • MongoDB Compass: mongoDB Compass es una interfaz gráfica para utilizar MongoDB Server de una forma más visual mediante a una Graphical User Interface (GUI).

En resumen:

MongoDB Atlas = servidor nube (cloud) para nuestras DB

MongoDB Server = servidor de DB en nuestro equipo (terminal)

MongoDB Compass = interfaz gráfica (GUI)

Instalando MongoDB Server + MongoDB Compass

Descargando MongoServer + MongoDB Compass

Para ello, vamos a visitar la web oficial de Mongo: www.mongodb.com . Una vez dentro de la web, vamos a Software>Community Server

O visitamos el siguiente enlace: Link a MongoDB Server

En la página de destino, seleccionamos el sistema operativo y la versión (os aconsejo descargar siempre la current que es la actual). Posiblemente cuando descargáis el instalador vuestra current versión sea diferente y no coincida con la de este tutorial. Pero no hay problema por ello, podéis seguir el tutorial sin problemas.

Finalmente pulsamos sobre descargar:

El propio instalador de MongoDB Server, nos preguntará si queremos instalar MongoDB Compass. Por lo que, con un instalador nos bastará.

Instalando MongoDB Server + MongoDB Compass

Una vez descargado, lo ejecutamos y comenzamos su instalación:

Aceptamos los términos de uso:

Realizamos la instalación completa:

Y llegamos a un punto clave, la pestaña de configuración como servicio. Nosotros la vamos a dejar seleccionada. El dejarla seleccionada se traduce en que mongoDB correrá automáticamente como un servicio al arrancar el SO. Además, es conveniente guardar la ruta C:\Program Files\MongoDB\Server\4.4 ya que posteriormente iremos a la instalación y si tenemos la ruta os será más sencillo de encontrar el directorio de instalación.

Si nos fijamos aquí nos pregunta si queremos instalar MongoDB Compass le decimos que sí. Así, matamos dos pájaros de un tiro, e instalamos los dos a la vez:

Pulsamos sobre el botón de instalar:

Y dejamos que se instale:

Una vez instalado, finalizamos el instalador:

Y veremos que se nos ha abierto MongoDB Compass automáticamente:

Lo cerramos por el momento. Para abrirlo más adelante, cuando lo necesitemos, tamn solo tenemos que buscar mongodbcompass desde Windows:

Configurando MongoDB Server + MongoDB Compass

Si ejecutamos el CMD de Windows (Windows + R) y escribimos CMD:

Se nos abrirá la terminal de Windows:

Si ejecutamos el comando mongo –version o mongodb –version (ambas darán el mismo resultado) y todo está correctamente configurado se nos mostrará la versión de mongo que hemos descargado:

Pero al ejecutarlo, vemos que no. Cuando pasa esto, tenemos dos opciones:

– No tener MongoDB instalado: lo acabamos de instalar y hemos visto sus ficheros por lo que lo descartamos. Hasta sabemos hasta la versión que hemos instalado, la 4.4.1 ya que nos ha salido al seleccionar la descargar, durante la descarga/el instalador y en la ruta de la carpeta de nuestro directorio local también nos aparece.

Muestra de que tenemos MongoDB instalado es que, si vamos a la ruta de instalación de mongoDB, más concretamente a la carpeta bin. Podremos ver que esta carpeta es la que contiene los ejecutables que necesitaremos:

Copiamos la ruta de nuestra carpeta bin situada dentro de nuestra instalación de MongoDB:

Y desde el terminal (con un CD ruta) y ejecutamos lo mismo podemos ver que el resultado ahora sí que es el esperado.

Configurando las variables de entorno

Por tanto, tocaremos las variables de entorno con el fin de no tener que situarnos en la ruta C:\Program Files\MongoDB\Server\4.4\bin constantemente para ejecutar mongo.exe y mongod.exe y que de esta manera sea más sencillo el ejecutar instrucciones de Mongo desde cualquier ruta del terminal.

Eso nos lleva a mirar a la segunda opción:

– No tener las variables de entorno configuradas: en este caso, si no es blanco es negro… Así que nos tocará editar las variables de entorno. Para ello, buscamos PATH en Windows:

Seleccionamos la opción de Variables de entorno:

Podemos ponerla a nivel de usuario o a nivel de sistema (afectará a todos los usuarios):

Aquí pegamos la ruta de nuestro mongoDB:

Y finalmente, pulsamos Aceptar. Y ya podemos testear si lo hemos realizado bien. Para ello volvemos a abrir un CMD sin ir a la ruta de instalación de MongoDB ya que desde dentro de la carpeta bin ya hemos visto que nos funcionaba. Pero desde fuera no, para ello, cerramos y volvemos a abrir el terminal (para que se apliquen los cambios) y testeamos nuevamente:

Perfecto, ya lo tenemos el PATH de las variables de entorno configurado correctamente para mongo y mongod.

Ficheros del directorio bin

En el directorio bin de nuestra instalación de MongoDB en mi caso en la ruta:  C:\Program Files\MongoDB\Server\4.4\bin (aunque como hemos dicho la vuestra puede variar en algo) tenemos que destacar por el momento principalmente dos ficheros:

  • Mongo.exe: nos permite trabajar con la BBDD
  • Mongod.exe: nos permite lanzar el servicio que es necesario poder trabajar con la database de MongoDB, si está lanzando ya no hará falta lanzarlo.

Si ejecutamos mongodb.exe o desde CMD mongod.exe (desde cualquier ruta), podremos ver que nos aparece un mensaje de error indicándonos que no existe la ruta de directorios C:/data/db y que la tenemos que crear o especificar otra ruta.

De hecho, tras ejecutarlo al final del todo podemos observar que mongod.exe al dar el error ha dejado de correr en nuestro terminal.

Creando el sistema de directorios de mongoDB -> C:/data/db

Mongo, tiene una estructura predefinida que nos obliga a crear una serie de directorios dentro de la unidad del disco C:\\ . Concretamente el conjunto de directorios a crear será C:/data/db directorio que almacenará las colecciones (ya veremos que son, no os preocupéis) que guardaremos en mongoDB.

Si volvemos a arrancar mongod.exe o desde CMD mongod:

Podemos ver que lo tenemos escuchando la dirección 127.0.0.1 (localhost) en el puerto 27017. Por lo que ya tenemos este paso perfectamente configurado. ESTA EJECUCIÓN DE CMD DE MONGOD POR EL MOMENTO NO LO CERRAMOS

Vemos que el directorio que acabamos de crear hace un momento y en el que no teníamos nada de contenido, que estaba vacío se ha llenado de ficheros ¡Esto es buena señal! 🙂

Arrancando mongoDB por primera vez

  1. Ejecutando el archivo mongo.exe del directorio bin de nuestra instalación de MongoDB
  2. Desde un CMD (para mí la mejor opción, ya que es la más cómoda) mediante la instrucción mongo o mongo.exe sin importar la ruta donde nos encontremos ya que hemos configurado previamente el PATH un poco más arriba para ello 🙂

Un ejemplo de que tenemos la BBDD perfectamente corriendo es que podemos mostrar las BBDD que trae por defecto mongoDB:

El beneficio de tener el servicio corriendo supone no tener que ejecutar mongod para poder trabajar con mongo

Arrancando/testeando el servicio Mongod

Si habéis seguidos todos los pasos tal cual de este tutorial durante la instalación, hemos instalado mongoDB como un servicio:

Si pulsamos sobre la tecla Windows y buscamos y abrimos los servicios de Windows:

Podremos encontrar que tenemos el servicio de MongoDB en ejecución:

Otra opción es pulsar control CNTL + ALT + SUPR > Administrador de tareas e ir a la pestaña de Servicios.

Ante le hipotético caso, que no aparezca o aparezca detenido (lo podemos detener nosotros mismos)

Este servicio es lo equivalente a ejecutar y mantener la ejecución de la consola con el comando mongod.exe. Si lo tenemos parado, tendremos que iniciar el servicio o bien lanzar una CMD con mongod.exe sin detenerlo para que nos funcione correctamente.

Si tenemos el servicio detenido y el mongod.exe sin ejecutar no podremos ejecutar mongo.exe exitosamente y, por tanto, no podremos interactuar con la BBDD.

Si tenemos el servicio mongodb parado e intentamos ejecutar mongo.exe vemos que nos aparece el Error «Error connectiong to 127.0.0.1:27017 :: caused by :: No se puede establecer una conexión ya que el equipo de destino denegó expresamente dicha conexión»:

Esto lo arreglamos simplemente corriendo desde la línea de comandos la instrucción mongod sin cerrar dicha pestaña:

O bien arrancando el servicio. Por eso hemos marcado antes eso porque es bastante cómodo tenerlo siempre inicializado y evitarnos el paso de mongod)

Ya tenemos MongoDB Server configurado ¡Enhorabuena! Ahora solo nos falta una pequeña configuración para poder utilizar también mongoDB Compass.

Configurando MongoDB Compass

Si abrimos mongoDB Compas, en su pantalla inicial, nos mostrará que pegamos nuestra cadena de conexión:

Esta cadena la obtenemos de ejecutar el comando mongo desde el CMD:

¡Ojo! Copiamos solamente mongodb://127.0.0.1:27017 ¡No la URL completa!

Y se nos abrirá la ventana con nuestras BBDD:

Y vemos que tenemos las mismas BBDD que desde el show data del CMD desde mongo.exe de mongoDB Server:

Finalmente, ahora sí, ya tenemos MongoDB Server y MongoDB Compass funcionando correctamente. Un saludo 🙂