# 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.).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.datadike.com/integracoes/databases/mongodb.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
