Comandos Essenciais de Administração do MongoDB para Iniciantes

Domine os comandos administrativos essenciais para o MongoDB usando o shell `mongosh`. Este guia abrange tarefas fundamentais para iniciantes, incluindo troca de banco de dados, criação/exclusão de coleções, gerenciamento de usuários com funções (roles) e verificações cruciais de integridade do sistema, como `serverStatus`. Aprenda os comandos básicos necessários para gerenciar com segurança seu ambiente NoSQL.

37 visualizações

Comandos Essenciais de Administração MongoDB para Iniciantes

MongoDB, um banco de dados NoSQL líder em documentos, é conhecido por sua flexibilidade e escalabilidade. Enquanto os desenvolvedores geralmente se concentram em operações CRUD (Criar, Ler, Atualizar, Excluir), o gerenciamento eficaz do ambiente do banco de dados depende muito da compreensão de comandos administrativos essenciais. Este guia apresenta aos iniciantes os comandos principais necessários para gerenciamento de banco de dados, administração de usuários e verificações de integridade do sistema, garantindo que sua instância MongoDB funcione de forma suave e segura.

Dominar essas tarefas administrativas é crucial para qualquer pessoa que esteja passando do desenvolvimento local simples para ambientes de produção. Exploraremos como interagir com o shell mongosh para gerenciar bancos de dados, coleções, usuários e realizar diagnósticos de sistema necessários.


Acessando o Shell MongoDB (mongosh)

A interface principal para executar comandos administrativos é o Shell MongoDB, geralmente acessado usando o comando mongosh. É aqui que você executa comandos baseados em JavaScript diretamente em sua instância MongoDB.

Para se conectar a uma instância MongoDB local em execução na porta padrão (27017), basta digitar:

mongosh

Uma vez conectado, você verá o prompt >, indicando que está pronto para emitir comandos.

Comandos de Gerenciamento de Banco de Dados

Gerenciar qual banco de dados você está usando atualmente e visualizar bancos de dados existentes são tarefas administrativas fundamentais.

Listando Todos os Bancos de Dados

Para ver uma lista de todos os bancos de dados atualmente presentes no servidor MongoDB, use o comando show dbs:

> show dbs
admin    40.00 KiB
config   72.00 KiB
local    72.00 KiB
myAppDB 100.00 KiB

Trocando de Banco de Dados

Antes de poder criar um banco de dados ou coleção, você deve mudar o contexto para o banco de dados desejado usando o comando use. Se o banco de dados não existir, o MongoDB o criará implicitamente na primeira inserção de dados.

> use myAppDB
switched to db myAppDB

Visualizando o Banco de Dados Atual

Para confirmar em qual contexto de banco de dados você está operando atualmente, use db:

> db
myAppDB

Excluindo um Banco de Dados

Aviso: Esta ação exclui permanentemente todos os dados dentro do banco de dados especificado. Use com extrema cautela, especialmente em ambientes de produção.

Para excluir o banco de dados atual (aquele retornado por db):

> db.dropDatabase()
{ "dropped" : "myAppDB", "ok" : 1 }

Comandos de Gerenciamento de Coleções

Coleções são análogas a tabelas em bancos de dados relacionais. Gerenciá-las é simples usando o atalho do objeto db.

Listando Coleções

Enquanto estiver usando um banco de dados específico, liste todas as coleções dentro dele usando show collections (ou o equivalente db.getCollectionNames() em versões mais antigas):

> show collections
users
products
orders

Criando Coleções

Coleções são frequentemente criadas automaticamente na primeira inserção. No entanto, você pode criar uma explicitamente usando db.createCollection() para controle sobre regras de validação ou limitação (capping).

// Criando uma coleção padrão chamada 'logs'
> db.createCollection("logs")
{ "ok" : 1 }

Excluindo uma Coleção

Para remover uma coleção inteiramente:

> db.logs.drop()
true

Administração de Usuários e Segurança

Para qualquer banco de dados destinado ao uso em produção, a segurança de acesso via autenticação de usuário é obrigatória. O gerenciamento de usuários é tipicamente realizado dentro do banco de dados admin ou do banco de dados específico onde o usuário deve ter permissões.

Trocando para o Banco de Dados Admin para Criação de Usuários

É prática padrão criar usuários administrativos no banco de dados admin, embora usuários baseados em função possam ser criados em bancos de dados de aplicação.

> use admin
switched to db admin

Criando um Usuário

Use db.createUser() para adicionar um novo usuário. Isso requer a especificação do nome de usuário, uma senha segura e as funções atribuídas.

> db.createUser(
...   {
...     user: "appAdmin",
...     pwd: passwordPrompt(), // Solicita a senha de forma segura
...     roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWrite" ]
...   }
... )
  • Dica: Usar passwordPrompt() é altamente recomendado em vez de incorporar senhas em texto simples em scripts.

Listando Usuários

Para ver os usuários existentes dentro do banco de dados atual:

> show users

Monitoramento e Diagnóstico do Sistema

Os administradores precisam de maneiras de verificar a saúde, o status e a configuração da instância MongoDB em execução.

Verificando o Status do Servidor

O comando serverStatus retorna um documento abrangente detalhando estatísticas sobre a operação do servidor, incluindo uso de memória, conexões e operações.

> db.serverStatus()
// A saída será um grande documento JSON contendo métricas.

Visualizando Conexões Atuais

Para ver conexões ativas de clientes, você pode consultar o comando currentOp ou procurar na saída de serverStatus na seção de conexões. Uma maneira direta de visualizar operações atuais é:

> db.currentOp()

Verificando a Configuração

Para visualizar as configurações de configuração atualmente aplicadas à instância:

> db.getMongo().getDB('admin').runCommand({ getParameter: 1, all: 1 })

Resumo e Próximos Passos

Esses comandos essenciais — cobrindo troca de banco de dados, gerenciamento de coleções, criação de usuários e monitoramento básico — formam a base da administração eficaz do MongoDB. Embora mongosh forneça feedback imediato, o monitoramento avançado geralmente requer integração com o MongoDB Compass ou o uso da interface MongoDB Atlas para diagnósticos visuais.

Melhor Prática: Sempre conecte-se com credenciais e restrinja as funções dos usuários às permissões mínimas necessárias (Princípio do Menor Privilégio).

Comece a praticar esses comandos em um ambiente não produtivo para ganhar confiança antes de gerenciar armazenamentos de dados críticos.