# MongoDB — coleções e documentos

> Provisione MongoDB gerenciado na W8 Hub e navegue pelas coleções, consulte e edite documentos direto no painel.

_Fonte: https://w8hub.com.br/docs/bancos-mongodb_

O MongoDB é uma das engines gerenciadas da W8 Hub. Ele é provisionado como qualquer outro banco — pertence a um projeto, roda em container e consome CPU, memória e disco do seu [plano](https://w8hub.com.br/docs/escala-e-planos). O que muda é a forma de olhar os dados: em vez de tabelas e linhas, você navega por **coleções** e **documentos**.

Para provisionar, criar contas de acesso e ver métricas, vale o mesmo de sempre: [Bancos de dados](https://w8hub.com.br/docs/bancos-de-dados).

## Coleções

O painel lista as **coleções** do database, do jeito que elas existem no servidor. É o equivalente à lista de tabelas de um banco relacional, e serve para o que você normalmente quer: conferir se a aplicação criou o que devia, e olhar o conteúdo sem abrir um cliente externo.

## Consultar documentos

Cada coleção tem uma **busca** que recebe um filtro no formato do próprio MongoDB. Um filtro vazio traz os primeiros documentos; um filtro como `{ "status": "ativo" }` traz só o que casa.

É a mesma ideia do console SQL dos bancos relacionais: bom para investigar um caso, conferir um dado depois de um deploy ou entender por que a aplicação não achou um registro.

## Editar documentos

Pelo painel dá para **inserir**, **atualizar**, **substituir** e **remover** documentos de uma coleção.

Vale entender a diferença entre os dois modos de escrita, porque ela costuma pegar gente desprevenida:

- **Atualizar** altera **só os campos que você mandou** e deixa o resto do documento como estava.
- **Substituir** troca o **documento inteiro** pelo que você mandou. O que não estiver no novo conteúdo deixa de existir.

> [!WARNING]
> Estas operações valem **direto no banco**, sem etapa de confirmação e sem desfazer. Em produção, prefira consultar antes com a busca e conferir que o filtro pega exatamente os documentos que você quer — um filtro largo demais num "remover" apaga mais do que você esperava.

## Conectar a aplicação

A string de conexão sai do painel do banco, como nas outras engines, e vai nas [variáveis de ambiente](https://w8hub.com.br/docs/instalacao-configuracoes#variaveis-de-ambiente) da instalação:

```
MONGODB_URI=mongodb://usuario:senha@host:27017/meubanco
```

Se você já tem um MongoDB rodando em outro lugar e não quer migrar, dá para [registrá-lo como banco externo](https://w8hub.com.br/docs/bancos-externos) e administrar as contas por aqui.
