MongoDB: Comenzando

Cómo empezar con MongoDB

Para establecer una conexión con su instancia de MongoDB usando el Mongo CLI, puede usar este comando:

mongo --quiet mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true

Por ejemplo, si desea conectarse como el usuario admin a la base de datos admin, podría ejecutar:

mongo --quiet mongodb://admin:<password>@<XXXXXX>.stackhero-network.com:27017/admin?tls=true

Si el Mongo CLI no está instalado en su sistema, puede descargarlo desde la documentación oficial de MongoDB. Alternativamente, si Docker está disponible en su sistema, podría encontrar útil este comando:

docker run -it mongo /bin/bash

Para mejorar la seguridad y asegurar una mejor organización, es aconsejable crear usuarios únicos para cada base de datos. Aquí hay un ejemplo de script para crear un nuevo usuario:

db.getSiblingDB("myDatabase")
  .createUser({
    user: "myUser",
    pwd: "myPassword",
    roles: [ { role: "readWrite", db: "myDatabase" } ],
    passwordDigestor: "server"
  });

El script anterior crea un usuario llamado myUser con la contraseña myPassword, y le otorga permisos de lectura y escritura para la base de datos myDatabase.

Asegúrese de estar conectado como el usuario admin al realizar operaciones de creación de usuarios.

Para eliminar un usuario, como myUser, de la base de datos myDatabase, puede ejecutar el siguiente comando:

db.getSiblingDB("myDatabase").dropUser("myUser");

Para respaldar sus datos de MongoDB, puede usar el siguiente comando:

mongodump --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Si encuentra un error como este:

authentication failed for admin on <database> from client <ip>; UserNotFound: Could not find user admin@<database>

Podría deberse a que el usuario admin no está registrado para la base de datos especificada. Agregar la opción --authenticationDatabase=admin podría resolver el problema:

mongodump --authenticationDatabase=admin --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Para un respaldo comprimido, puede incluir la opción --gzip:

mongodump --gzip --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Este error puede surgir al intentar crear un usuario a través de la interfaz Admin Mongo UI. Para evitar esto, use la consulta Mongo proporcionada en la sección creación de bases de datos y usuarios en MongoDB.

Nota: La interfaz Admin Mongo UI no admite la ejecución directa de consultas. En su lugar, podría considerar usar el Mongo CLI (aprender más) o una herramienta GUI como Robo 3T (ver la guía de configuración).