Gestionar MongoDB Atlas en local con Atlas CLI
Cuando trabajamos con MongoDB en desarrollo, es común instalar una instancia local usando mongod. Sin embargo, MongoDB ofrece una alternativa más avanzada que permite simular un entorno similar a producción utilizando Docker.
Algunas de las diferencias con un instalación de MongoDB directa:
| Característica | Mongo local | Atlas local |
|---|---|---|
| Arquitectura | Standalone | Replica set |
| Infraestructura | Proceso nativo | Docker / gestionado |
| Configuración | Manual | Automática |
| Uso | Aprendizaje | Desarrollo profesional |
| Transacciones | Limitadas | Completas |
La diferencia más importante es la arquitectura:
- Atlas local: estás trabajando como si estuvieras en la nube
- Mongo local: estás trabajando como en un servidor tradicional
Con Atlas local:
- Los datos viven dentro del contenedor
- Si borras el deployment pierdes todo
Con Mongo local:
- Los datos quedan en tu disco
- Tienes más control
Instalar herramientas
- Atlas CLI: Interfaz de línea de comandos que permite gestionar las implementaciones desde la terminal
- MongoDB Shell: Herramienta interactiva que se conecta a una implementación (la herramienta Mongo Compass ya la incluye)
- Docker: plataforma que permite ejecutar software en contenedores, incluidas las implementaciones locales de MongoDB.
Selecciona la pestaña correspondiente al sistema operativo para ver los comandos que instalan estas herramientas de desarrollo necesarias.
Ejecutar los siguientes comandos para instalar las dependencias con el administrador de paquetes Homebrew
1 2
brew install mongodb-atlas brew install --cask dockerEjecutar los siguientes comandos para instalar dependencias usando el administrador de paquetes Chocolatey. Si Chocolatey no está instalado, se puede instalar siguiendo las instrucciones en el sitio web de Chocolatey.
choco install mongodb-atlas choco install docker-desktioAhora se debe crear el archivo de lista
/etc/apt/source.list.d/mongodb-org-7.0.listpara la versión de Ubuntu. Se debe sustituir7.0por la edición de MongoDB.1
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.listLuego, actualizamos el índice de paquetes:
1
sudo apt updateSi no deseas instalar
mongosh, ejecuta el siguiente comando:1
sudo apt install -y mongodb-atlas-cli
Los comandos anteriores instalan la aplicación Docker Desktop. Una vez completa la instalación, se debe crear una cuenta de Docker e iniciar la aplicación.
Autenticación con Atlas
Antes de usar la herramienta, el primer paso es loguearte y para ello simplemente ejecuta el siguiente comando:
1
atlas auth login
| Opción | Uso principal | Autenticación |
|---|---|---|
| UserAccount | Para uso no programático | Login con navegador (OAuth) |
| ServiceAccount | Mejor para uso programático | Credenciales de servicio |
| APIKeys | Ideal para uso programático con una clave API | Public Key + Private Key |
Selecciona la primera opción y presiona Enter. Guarda o copia el código de activación que se genera en la Terminal para usarlo pronto:
Luego, ingresa tu correo que registraste la cuenta en Atlas o selecciona el proveedor (recomendado usar Google o GitHub):
Pega el código de activación en el navegador:
Y confirma haciendo clic en Confirm Authorization:
Una vez autenticado, se debe seleccionar la organización:
Eso es todo, para confirmar ejecuta el siguiente comando:
1
atlas auth whoami
La salida:
1
Logged in as <tu.correo@mail.com> account
Configurar MongoDB local con Atlas CLI
Ya tienes instalado Atlas CLI y logueado con tu cuenta de MongoDB Atlas.
Ahora vamos a levantar una implementación local de MongoDB y es un procedimiento bastante simple. Primero revisa la versión de Atlas CLI:
1
atlas --version
Desde la versión 1.25.0 de Atlas CLI, la forma de configurar entornos locales cambió. Por eso, al usar comandos antiguos (aunque todavía funcionan), pueden aparecer advertencias de deprecación.
Por ejemplo, si utilizamos el siguiente comando funcionará pero lanzando advertencias:
1
atlas local setup myDeploymentMongoDB --mdbVersion 8.0 --port 27018
Lo correcto sería usar el comando de la siguiente manera:
1
atlas setup local --mdbVersion 8.0 --port 27018
Al presionar Enter, el comando hace lo siguiente:
- Crea una implementación llamada “myDeploymentMongoDB”
- Levanta un contenedor de Docker
- Instala MongoDB versiónn 8.0
- Expone el puerto
27018(en caso que tengas una instalación previa que use ya el puerto predeterminado27017) - Lo deja listo como si fuera un entorno “tipo cloud”
Conexión a la implementación local
Al finalizar el proceso anterior, nos da la opción de conectarnos a la implementación, selecciona la opción que tengas disponible, podemos verificar con MongoDB Compass:
De igual manera, puedes conectarte directo desde la Terminal usando mongosh:
Como se puede observar, ya existía una instancia de
mongodutilizando el puerto predeterminado (27017), por lo que se especificó el puerto27018. En caso de no indicar esta opción, el sistema intentará usar el puerto por defecto. De igual forma, si no se proporciona un nombre para el deployment, el CLI asignará uno automáticamente.
Cargar datos de muestra
Con el siguiente comando se puede instalar las herramientas de MongoDB Database Tools:
1
2
brew tap mongodb/brew
brew install mongodb-database-tools
Luego, ejecuta el siguiente comando para cargar los datos de muestra:
1
2
curl https://atlas-education.s3.amazonaws.com/sampledata.archive -o sampledata.archive
mongorestore --archive=sampledata.archive --port <PORT>
Sustituir el marcador
<PORT>con el número de puerto de la implementación. Puedes encontrar el número de puerto en Docker Desktop.
Eliminar una implementación local
Borrar una implementación local también elimina los datos de volúmenes locales.
El siguiente comando elimina una implementación local por su nombre:
1
atlas local delete <nombre-implementación>










