> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/product-docs/integracoes/databases/mongodb.md).

# MongoDB

### Passo a Passo: Configuração Completa

#### Passo 1 — Criar o Ativo (Asset)

1. Acesse **Console → Ativos → Lista de Ativos**
2. Clique em **"+ Criar"** e selecione a categoria **Banco de Dados → MongoDB**
3. Preencha os campos:

| Campo      | Valor Exemplo       | Observação                    |
| ---------- | ------------------- | ----------------------------- |
| Nome       | MongoDB-Producao-01 | Nome identificador do ativo   |
| IP/Host    | 192.168.1.60        | Endereço do servidor MongoDB  |
| Porta      | 27017               | Porta padrão do MongoDB       |
| Plataforma | MongoDB             | Selecionar plataforma MongoDB |
| Nó         | /Default            | Nó organizacional             |

4. Clique em **Enviar** para salvar

#### Passo 2 — Adicionar Conta (Account)

1. Acesse o ativo MongoDB criado → aba **Contas**
2. Clique em **"+ Criar"**
3. Preencha:

| Campo   | Valor       | Observação             |
| ------- | ----------- | ---------------------- |
| Nome    | mongo-admin | Identificador da conta |
| Usuário | PAM\_admin  | Usuário MongoDB        |
| Senha   | ●●●●●●●●    | Senha do usuário       |

> **Nota sobre autenticação:** O MongoDB usa o banco `admin` como padrão para autenticação. Se o usuário foi criado em outro banco, configure o campo "Database" adequadamente.

4. Clique em **Enviar**

#### Passo 3 — Criar Autorização (Asset Permission)

1. Acesse **Console → Permissões → Permissões de Ativos**
2. Clique em **"+ Criar"**
3. Configure:

| Campo              | Valor                             |
| ------------------ | --------------------------------- |
| Nome               | Acesso-MongoDB-Prod               |
| Usuários           | Selecionar usuário(s) ou grupo(s) |
| Ativos             | MongoDB-Producao-01               |
| Contas             | mongo-admin                       |
| Ações              | Conectar, Copiar/Colar            |
| Data de início/fim | Conforme política                 |

4. Clique em **Enviar**

***

### Passo 4 — Conectar ao MongoDB

Após a configuração, o usuário autorizado pode acessar o MongoDB pelo **Workbench**:

#### Método 1: Web CLI (mongosh)

1. No **Workbench**, localize o ativo MongoDB
2. Clique em **Web CLI**
3. Um terminal mongosh abrirá diretamente no navegador
4. Execute comandos MongoDB normalmente:

```javascript
show dbs
use minha_base
show collections
db.colecao.find().limit(5)
db.colecao.countDocuments()
```

> **Dica:** O Web CLI é o método mais rápido para consultas e operações administrativas sem necessidade de cliente local.

#### Método 2: RemoteApp

1. No **Workbench**, clique em **RemoteApp**
2. Uma aplicação gráfica (ex: MongoDB Compass ou Studio 3T) será aberta via sessão remota
3. A conexão é estabelecida automaticamente com as credenciais configuradas
4. Use a interface gráfica para navegar databases, collections e documentos

> **Nota:** O RemoteApp oferece a experiência mais completa para trabalhar com MongoDB, incluindo visualização de documentos, criação de índices e análise de queries.

***

### Passo 5 — Verificação e Testes

| Teste         | Comando / Ação                     | Resultado Esperado         |
| ------------- | ---------------------------------- | -------------------------- |
| Conectividade | `mongosh --host <IP> --port 27017` | Conexão estabelecida       |
| Autenticação  | `db.auth("user","pass")`           | Resposta: { ok: 1 }        |
| Listar bancos | `show dbs`                         | Lista de databases         |
| Web CLI       | Acessar via Workbench              | Terminal mongosh funcional |
| Auditoria     | Console → Auditoria → Sessões      | Sessão MongoDB registrada  |

***

### Troubleshooting MongoDB

| Problema                     | Causa Provável                     | Solução                                          |
| ---------------------------- | ---------------------------------- | ------------------------------------------------ |
| Erro "Authentication failed" | Credenciais incorretas             | Verificar usuário, senha e banco de autenticação |
| Connection refused           | MongoDB não escutando na interface | Alterar bindIp para 0.0.0.0 no mongod.conf       |
| Connection timeout           | Firewall ou rede                   | Liberar porta 27017 entre PAM e MongoDB          |
| Erro "not authorized"        | Usuário sem roles adequadas        | Verificar roles do usuário no MongoDB            |
| Erro "no reachable servers"  | Endereço ou porta incorretos       | Verificar IP/Host e porta do ativo               |
| Usuário não vê o ativo       | Falta autorização                  | Criar Asset Permission para o usuário            |

> **Nota:** O MongoDB é um banco orientado a documentos — diferente dos bancos SQL relacionais. Os comandos auditados pelo PAM incluem todas as operações MongoDB (find, insert, update, delete, aggregate, etc.).
