Instalar MongoDB en MacOS con Homebrew y operaciones CRUD

Video thumbnail

Vamos a conocer como podemos instalar MongoDB si estamos en MacOS; para esto vamos a partir de que tienes instalado Homebrew que es simplemente un gestor de paquetes para MacOS y Linux.

Instalar MongoDB en macOS puede parecer complicado la primera vez, pero usando Homebrew el proceso es mucho más sencillo y limpio. En esta guía te explico paso a paso cómo instalar MongoDB en MacOS con Homebrew, cómo iniciarlo correctamente y cómo empezar a trabajar con la base de datos realizando operaciones CRUD básicas.

En mi caso, este flujo es el que utilizo siempre que configuro un entorno de desarrollo nuevo en Mac, y evita la mayoría de errores típicos que suelen aparecer al arrancar MongoDB por primera vez.

Ya con nuestro gestor de paquetes, nada más fácil, lo primero que tenemos que hacer es agregar el repositorio de MongoDB a nuestro gestor de paquetes.

Requisitos previos

Antes de instalar MongoDB, es importante asegurarnos de que el sistema tiene todo lo necesario.

macOS compatible

MongoDB funciona correctamente en las versiones modernas de macOS (Catalina en adelante). Si usas una versión muy antigua, es recomendable actualizar el sistema o instalar una versión compatible de MongoDB.

Instalación de Homebrew

macOS no incluye Homebrew por defecto, y es una de las herramientas más importantes para desarrollo en Mac. Homebrew es un gestor de paquetes que permite instalar software desde la terminal de forma sencilla.

Para instalarlo, sigue las instrucciones oficiales desde su web:

https://brew.sh/#install

Software necesario para instalar instalar MongoDB

Instalar las Command line tools for xcode 

Seguramente cuando vayas a ejecutar el comando de Brew para instalar el paquete, te pedirá que instales las command line tools for xcode, acepta y descarga e instala estas herramientas.

Es muy probable que, al ejecutar cualquier comando de brew, macOS te pida instalar las Command Line Tools for Xcode.

Acepta el mensaje y deja que se instalen, ya que son necesarias para compilar y ejecutar muchas dependencias.

Instalar Homebrew

¿Qué es un tap de Homebrew?

Un tap es simplemente un repositorio adicional que Homebrew usa para encontrar paquetes. MongoDB mantiene su tap oficial, lo cual es importante para evitar instalaciones no soportadas.

Comando para agregar el tap

Ahora si, vamos a instalar Homebrew, MacOS no incluye el paquete de preparación Homebrew por defecto; por lo tanto, tienes que instalarlo como indica en la página oficial. https://brew.sh/#install

Homebrew instala las cosas que necesitas para tu MacOS desde una terminal fácilmente.

$ brew tap mongodb/brew

Este paso es clave; muchos errores vienen de intentar instalar MongoDB sin usar el tap oficial.

Elegir la versión de MongoDB

MongoDB publica varias versiones. En este caso vamos a instalar una versión estable específica, que es la que mejor resultado me ha dado en macOS:

Instalar el Tap de Homebrew de MongoDB

Emita lo siguiente desde el terminal para tocar el grifo oficial de MongoDB Homebrew: https://github.com/mongodb/homebrew-brew

Este es un Tap (paquete) de Homebrew personalizado para el software oficial de MongoDB.

$ brew tap mongodb/brew

O una version especifica:

$ brew install mongodb-community@5.0

Instalar una versión concreta evita incompatibilidades con librerías o con el sistema operativo, algo que ya me ha ahorrado más de un dolor de cabeza.

Comprobación de la instalación

Una vez finalizado el proceso, MongoDB ya estará instalado en tu equipo, pero aún no estará en ejecución.

Iniciar el proceso de MongoDB

Ya con esto tenemos MongoDB en nuestro equipo; lo siguiente que vamos a hacer es iniciar el proceso, ya que si ejecutamos en nuestra terminal:

brew services start mongodb-community

Este comando es fundamental. Si no inicias el servicio y ejecutas mongo directamente, obtendrás un error de conexión.

Ya que si no lo inicias y escribes, mongo en la terminal, verás un error como el siguiente:

MongoDB shell version v8.0.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:372:17

Esto ocurre porque MongoDB no está escuchando en el puerto 27017.

Una vez iniciado correctamente, el comando:

$ mongo

Te permitirá acceder al shell sin problemas, o ver su versión instalada:

$ mongod --version

Detener o reiniciar MongoDB

Algunos comandos útiles que suelo usar:

$ brew services stop mongodb-community
$ brew services restart mongodb-community

⚠️ Errores comunes y cómo resolverlos

Error de conexión en localhost

Casi siempre se debe a que el servicio no está iniciado. Verifica con:

$ brew services list

Problemas de versiones incompatibles

Si cambiaste de versión de macOS o actualizaste MongoDB, puede ser necesario reinstalar la versión correcta o limpiar servicios antiguos.

Primeros pasos con MongoDB (CRUD básico)

Realizar Operaciones CRUD con MongoDB

Vamos a conocer como podemos realizar operaciones tipo CRUD empleando MongoDB, recuerda que las operaciones tipo CRUD son las que nos permite Crear, Leer, Actualizar y Eliminar (CRUD por sus siglas en inglés) respectivamente.

Operaciones para crear

Las operaciones de creación o inserción agregan nuevos documentos a una colección. Si la colección no existe actualmente, las operaciones de inserción crearán la colección.
MongoDB proporciona los siguientes métodos para insertar documentos en una colección:

db.collection.insertOne() 
db.collection.insertMany()

Operaciones de ejemplo:

var user2 = {
   name: 'Andres',
   last_name: 'Cruz',
   age: 29,
   email: 'andres@gmail.com'
}
var user3 = {
   name: 'Pablo',
   last_name: 'Lama',
   age: 30,
   email: 'pablo@gmail.com'
}
var user4 = {
   name: 'Luis',
   last_name: 'Yello',
   age: 99,
   email: 'pepe@gmail.com'
}
db.users.insertOne(user2)
db.users.insertMany(
   [user3, user4, user2]
)

Las cuales permiten insertar un solo registro o más de uno respectivamente.

Operaciones de lectura

Las operaciones de lectura recuperan documentos de una colección; es decir, consulta una colección de documentos. MongoDB proporciona la siguiente operación para leer documentos de una colección:

db.collection.find()
Operaciones de ejemplo:
db.users.find(
   { age: 25 },
   { name: true, email: true, _id: false }
).pretty()
db.users.find(
   { age: 25 },
   { email: false, _id: false }
).pretty()

Operaciones para Actualizar

Las operaciones de actualización modifican los documentos existentes en una colección. MongoDB proporciona los siguientes métodos para actualizar documentos de una colección:

db.collection.updateOne()
db.collection.updateMany()
db.collection.replaceOne()

Operaciones de ejemplo:

db.users.updateMany(
   {
       name: {
           $exists: true
       }
   },
   {
       $set: {
           name2: "Luisito"
       }
   }
)
db.users.updateOne(
   {
       name: {
           $exists: true
       }
   },
   {
       $unset: {
           name2: "Luisito"
       }
   }
)

Operaciones para Eliminar

Las operaciones de eliminación eliminan documentos de una colección. MongoDB proporciona los siguientes métodos para eliminar documentos de una colección:

db.collection.deleteOne()
db.collection.deleteMany()

Operaciones de ejemplo:

db.users.deleteOne({"_id": new mongo.ObjectID(id) })
db.users.deleteMany({"_id": new mongo.ObjectID(id) })

Consejos adicionales y buenas prácticas

  • Usa siempre el tap oficial de MongoDB
  • Instala versiones específicas para evitar incompatibilidades
  • No olvides iniciar el servicio antes de usar el shell
  • Para entornos productivos, habilita autenticación y backups

Aprende cómo instalar MongoDB en macOS con Homebrew paso a paso. Guía actualizada, errores comunes, inicio del servicio y ejemplos CRUD para realizar las primeras operaciones.

Acepto recibir anuncios de interes sobre este Blog.

Andrés Cruz

EN In english