MongoDB: Introdução

Como começar com o MongoDB

Para estabelecer uma conexão com a sua instância MongoDB usando o Mongo CLI, pode usar este comando:

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

Por exemplo, se quiser conectar-se como o utilizador admin à base de dados admin, pode executar:

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

Se o Mongo CLI não estiver instalado no seu sistema, pode descarregá-lo a partir da documentação oficial do MongoDB. Alternativamente, se o Docker estiver disponível no seu sistema, pode achar este comando útil:

docker run -it mongo /bin/bash

Para melhorar a segurança e garantir uma melhor organização, é aconselhável criar utilizadores únicos para cada base de dados. Aqui está um exemplo de script para criar um novo utilizador:

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

O script acima cria um utilizador chamado myUser com a palavra-passe myPassword, e concede-lhe permissões de leitura e escrita para a base de dados myDatabase.

Certifique-se de que está conectado como o utilizador admin ao realizar operações de criação de utilizadores.

Para remover um utilizador, como myUser, da base de dados myDatabase, pode executar o seguinte comando:

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

Para fazer backup dos seus dados do MongoDB, pode usar o seguinte comando:

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

Se encontrar um erro como este:

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

Pode ser devido ao utilizador admin não estar registado para a base de dados especificada. Adicionar a opção --authenticationDatabase=admin pode resolver o problema:

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

Para um backup comprimido, pode incluir a opção --gzip:

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

Este erro pode surgir ao tentar criar um utilizador através da interface Admin Mongo UI. Para evitar isso, use a consulta Mongo fornecida na seção criar bases de dados e utilizadores no MongoDB.

Nota: A interface Admin Mongo UI não suporta a execução direta de consultas. Em vez disso, pode considerar usar o Mongo CLI (saiba mais) ou uma ferramenta GUI como o Robo 3T (ver o guia de configuração).