Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Exploración de la base de datos con Mongo Compass

5/24
Recursos

Al trabajar con un motor de base de datos, siempre es muy práctico disponer de una interfaz gráfica para visualizar nuestros datos y ejecutar consultas más cómodamente.

UI para MongoDB

Mongo Compass es el software por excelencia para la visualización de bases de datos MongoDB, oficial y desarrollado por Mongo. Te permitirá conectarte a cualquier base de datos, sea local o remota, para visualizar las colecciones y los documentos en tu base.

String de conexión a base de datos

MongoDB utiliza una sintaxis especial para establecer la conexión a una base de datos. Utiliza un string con la siguiente estructura:

mongodb://<USER>:<PASS>@<HOST>:<PORT>/<DBNAME>?authSource=admin

Debe completar los datos del usuario, del host y puerto, y el nombre de la base de datos, seguido de algunos parámetros opcionales de configuración. Si la información es correcta, se establecerá la conexión con la base de datos MongoDB que puedes estar corriendo en Docker o en un servidor remoto.

Por ejemplo:

mongodb://mongo:[email protected]:27017/nestjs_mongo?authSource=admin

Recuerda que, para conectarte a tu base de datos MongoDB que está corriendo en Docker, las variables de entorno que has configurado en el docker.compose.yml son los mismos datos que tienes que utilizar para construir el string de conexión.

# docker-compose.yml
...
environment:
  - MONGO_INITDB_DATABASE=nestjs_mongo
  - MONGO_INITDB_ROOT_USERNAME=mongo
  - MONGO_INITDB_ROOT_PASSWORD=secret

Mongo Compass será tu mejor aliado a la hora de diseñar y usar bases de datos MongoDB.


Contribución creada por: Kevin Fiorentino.

Aportes 10

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Esta buenísimo el curso

En las nuevas versiones de Mongo Compas, la pantalla de conexión cambia de modo que para seguir el ritmo de la clase toma en cuenta esto: Saludos 💚

Se puede usar mongo-express que es un: DBMS (Data Base Management System) y correrlo en docker para no tener que instalar nada.

El archivo “docker-compose.yml” quedaría así:

version: '3.3'

services:
  mongo:
    image: mongo:4
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=root
    ports:
      - 27017:27017
  express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: root
      ME_CONFIG_MONGODB_URL: mongodb://root:[email protected]:27017/

Hacerlo con Docker es genial porque es super genérico y sirve para todo, aunque se puede simplificar aun mas mediante la nube con Mongo Atlas; creas la BBDD desde el navegador, te conectas con tu app y ya, te ahorras instalar drivers y DBMS tambien.

Les comparto un problema que tuve que me costo un poco de tiempo notar, tal vez sea algo obvio para algyunos pero igual lo comparto XD.

Mi problema es que al intentar conectarme a la base de datos en mongo no lo podía hacer con la autenticación en la URI, solo sin autenticación, y que al añadir datos a la base de datos desde mongocompass no se veían reflejadas cuando solicitaba los datos.

El problema es que mi sistema operativo (Windows), estaba corriendo 2 bases de datos, la base de datos nativa de mongo que instalé en windows y la base de datos que levanté en docker, por eso tenía tantos problemas.

La solución es o dejar de levantar la base de datos de mongo en docker y trabajar sin autenticación al levantar la base de datos, o desinstalar la base de datos de mongo del sistema operativo desde el panel de control. En mi caso hice lo segundo para poner en práctica docker.

docker me consume muchos recursos de la pc

Está excelente el curso

lo probe con adminer tambíen esta bien sin o quieres instalar y puedes correrlo con otro contenedor de docker

ya queria levantar mi primer contenedor, super!

Muy bueno y sencillo!