Instalación de MongoDB en Mac con Homebrew

Por Alejandro van den Akker

En este artículo hablaremos de cómo realizar una instalación de MongoDB en un Mac con Homebrew en menos de 5 minutos desde un terminal.

Antes de ponernos manos a la obra con la instalación voy a darte una pequeña introducción acerca de Homebrew ya que si vas a instalarlo en tu Mac, deberás saber primero qué es y para que sirve.

Introducción a Homebrew

Se trata de un programa de instalación y de gestión de paquetes de código abierto desarrollado por Max Howel, cuya función principal es simplificar las instalaciones y actualizaciones de sistemas GNU/Linux, macOS y Windows.

Estas son sus características principales:

  • Te permite instalar software en el directorio personal sin sudo.
  • Mantener las versiones de software de nuestro equipo actualizadas.
  • Instalar software no empaquetado para la distribución que estemos utilizando.

Instalación de Homebrew

Para llevar a cabo la instalación en nuestro Mac, deberás abrir el terminal con el siguiente atajo en tu teclado: cmd + space y a continuación introduces la palabra terminal.

Una vez hecho esto ejecutamos el siguiente código en el:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Se estima una duración de entre 3 y 5 minutos para que se instale correctamente.

Instalación de MongoDB con Homebrew

Abrimos una pestaña del terminal y escribimos:

brew tap mongodb/brew

Con este comando hemos añadido repositorios Git adicionales disponibles para su instalación.

Ahora vamos a instalar MongoDB y la versión 4.4 de Community Edition :

brew install [email protected]

Una vez descargado e instalado Mongodb, deberás de crear un directorio llamado db que es donde se alojarán los archivos de datos de Mongo.

Nos dirigimos a esta ruta:

cd /usr/local/var/mongodb/

Y creamos los directorios simultáneamente:

sudo mkdir -p data/db 

Hechos todos estos pasos, vamos a ejecutar Mongo con el siguiente comando:

brew services run [email protected]

Abrimos una nueva pestaña del terminal y introducimos la palabra mongo. Si has realizado los pasos correctamente verás lo siguiente :

MongoDB shell version v4.4.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("69bae90e-807f-430d-9db6-c93efd798ab7") }
MongoDB server version: 4.4.5
---
The server generated these startup warnings when booting: 
        2021-06-16T11:39:43.350+02:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---
---
        Enable MongoDB's free cloud-based monitoring service, which will then receive and display
        metrics about your deployment (disk utilization, CPU, operation statistics, etc).

        The monitoring data will be available on a MongoDB website with a unique URL accessible to you
        and anyone you share the URL with. MongoDB may use this information to make product
        improvements and to suggest MongoDB products and deployment options to you.

        To enable free monitoring, run the following command: db.enableFreeMonitoring()
        To permanently disable this reminder, run the following command: db.disableFreeMonitoring()

Recomendación

Recuerda de que no puedes cerrar la pestaña donde Mongo se está ejecutando. Te recomiendo si vas a trabajar desde el terminal abrir otra pestaña.

Problemas habituales con solución

En ocasiones ocurre que si creas una base de datos y haces un dbs show para que te la muestre, no la veas, ya que necesitas insertar datos en ella primero, es decir, si creas una colección con use nombreColección creará la base de datos y la podrás visualizar.

En el caso de que la base de datos contenga datos y no puedas visualizarla, significa que la ruta de data/db no esta bien configurada.

Para saber el path de data/db deberás de utilizar el siguiente comando en la shell de Mongo:

db.serverCmdLineOpts()

Verás el siguiente esquema:

{
	"argv" : [
		"/usr/local/opt/mongodb-community/bin/mongod",
		"--config",
		"/usr/local/etc/mongod.conf"
	],
	"parsed" : {
		"config" : "/usr/local/etc/mongod.conf",
		"net" : {
			"bindIp" : "127.0.0.1"
		},
		"storage" : {
			"dbPath" : "/usr/local/var/mongodb/data/db"
		},
		"systemLog" : {
			"destination" : "file",
			"logAppend" : true,
			"path" : "/usr/local/var/log/mongodb/mongo.log"
		}
	},
	"ok" : 1
}

Si en storage el dbpath no es el que ves ahí, y la carpeta /data/db no salen, deberás de hacer lo siguiente:

Ir > Ir a la carpeta en el menú superior de tu mac e introducir la siguiente ruta /usr/local/etc/

Abre el archivo mongod.conf y en storage introduce el siguiente path:

/usr/local/var/mongodb/data/db

Con esto se soluciona este incidente y si vuelves a ejecutar en Mongo db.serverCmdLineOpts() verás que ahora si se grabarán tus bases de datos y colecciones.

Crea una base de datos con use nombreBaseDatos y luego haz show dbs, resultado:

# En mi caso cree una db llamada Brawl
admin   0.000GB
brawl   0.000GB
config  0.000GB
local   0.000GB

Conclusión

Si vas a empezar a trabajar con esta magnifica base de datos NoSQL especializada en documentos y la más utilizada del mercado en cuanto a Big Data se refiere, en este artículo ya has aprendido a instalar MongoDB en tu equipo y solo te queda empezar a crear.

Existen muchas otras formas de trabajar con Mongo, por ejemplo yo lo hago desde la nube con Mongo Atlas corriendo en AWS, aunque aquí nos hemos centrado en una instalación sobre un Mac y utilizando el gestor de paquetes Homebrew.

¿Te ha parecido útil?