mongodb
Faz seu agente gerenciar bancos de dados MongoDB. É útil para configurar e manter o MongoDB funcionando de forma eficiente e segura.
O que ela faz
MongoDB é um banco de dados que guarda informações em formato de documentos, como se fossem arquivos de texto organizados. Ele é bom para quando você tem dados que mudam muito ou que são complexos.
Quando usar
- ✓Precisa guardar dados que não têm uma estrutura fixa.
- ✓Seus dados parecem com arquivos JSON, com muitas informações dentro de outras.
- ✓Seu aplicativo precisa crescer para lidar com muitos usuários ou dados.
Exemplo do que pedir para a IA
“Como instalo o MongoDB em um servidor Linux?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O MongoDB funciona guardando dados em documentos. Ele permite que você organize, procure e modifique esses dados de forma eficiente. É possível configurar para que ele funcione em vários servidores ao mesmo tempo para mais segurança e velocidade.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill mongodbOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/mongodb/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
MongoDB
Administre, otimize e proteja bancos de dados NoSQL MongoDB em ambientes de desenvolvimento e produção.
Quando Usar
- Você precisa de um banco de dados orientado a documentos com esquemas flexíveis.
- Seus dados são semiestruturados ou fortemente aninhados (documentos semelhantes a JSON).
- Você precisa de escalabilidade horizontal através de sharding.
- Sua aplicação se beneficia de consultas ricas e pipelines de agregação.
Pré-requisitos
- Servidor Linux (Debian/Ubuntu ou baseado em RHEL) ou Docker.
- Acesso root ou sudo para instalação de pacotes.
- MongoDB 7.x recomendado para produção (6.x ainda suportado).
Instalação e Configuração
# Debian / Ubuntu — MongoDB 7
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt update
sudo apt install -y mongodb-org
# Start and enable
sudo systemctl enable --now mongod
# Verify
mongosh --eval "db.version()"
Configuração Inicial de Usuário
// Connect without auth first
// mongosh
use admin
// Create admin user
db.createUser({
user: "admin",
pwd: "strong_admin_password",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" },
{ role: "clusterAdmin", db: "admin" }
]
})
// Create an application-scoped user
use mydb
db.createUser({
user: "myapp",
pwd: "strong_app_password",
roles: [{ role: "readWrite", db: "mydb" }]
})
Habilite a autenticação em /etc/mongod.conf:
security:
authorization: enabled
sudo systemctl restart mongod
# Now connect with credentials
mongosh -u myapp -p strong_app_password --authenticationDatabase mydb
Referência de Comandos do mongosh
// Show databases and collections
show dbs
use mydb
show collections
// Insert documents
db.users.insertOne({ name: "Alice", email: "alice@example.com", age: 30 })
db.users.insertMany([
{ name: "Bob", email: "bob@example.com", age: 25 },
{ name: "Carol", email: "carol@example.com", age: 35 }
])
// Query documents
db.users.find({ age: { $gte: 25 } }).sort({ name: 1 }).limit(10)
db.users.findOne({ email: "alice@example.com" })
db.users.countDocuments({ age: { $gte: 30 } })
// Update
db.users.updateOne(
{ email: "alice@example.com" },
{ $set: { age: 31 }, $currentDate: { updatedAt: true } }
)
db.users.updateMany(
{ age: { $lt: 30 } },
{ $set: { tier: "junior" } }
)
// Delete
db.users.deleteOne({ email: "bob@example.com" })
db.users.deleteMany({ tier: "junior" })
Indexação
// Single-field index
db.users.createIndex({ email: 1 }, { unique: true })
// Compound index
db.orders.createIndex({ userId: 1, createdAt: -1 })
// Text index for search
db.articles.createIndex({ title: "text", body: "text" })
db.articles.find({ $text: { $search: "mongodb scaling" } })
// TTL index — auto-delete documents after 30 days
db.sessions.createIndex({ createdAt: 1 }, { expireAfterSeconds: 2592000 })
// List indexes
db.users.getIndexes()
// Drop an index
db.users.dropIndex("email_1")
// Explain a query to verify index usage
db.orders.find({ userId: 42 }).explain("executionStats")
Exemplos de Pipeline de Agregação
// Revenue per status
db.orders.aggregate([
{ $group: {
_id: "$status",
totalRevenue: { $sum: "$total" },
count: { $sum: 1 }
}},
{ $sort: { totalRevenue: -1 } }
])
// Top 5 customers by order value (with a join)
db.orders.aggregate([
{ $group: {
_id: "$userId",
spent: { $sum: "$total" },
orderCount: { $sum: 1 }
}},
{ $sort: { spent: -1 } },
{ $limit: 5 },
{ $lookup: {
from: "users",
localField: "_id",
foreignField: "_id",
as: "user"
}},
{ $unwind: "$user" },
{ $project: {
_id: 0,
name: "$user.name",
email: "$user.email",
spent: 1,
orderCount: 1
}}
])
// Daily signup trend
db.users.aggregate([
{ $group: {
_id: { $dateToString: { format: "%Y-%m-%d", date: "$createdAt" } },
signups: { $sum: 1 }
}},
{ $sort: { _id: 1 } },
{ $limit: 30 }
])
Configuração de Replica Set
Um replica set requer um mínimo de três membros (ou dois nós que armazenam dados mais um árbitro).
Arquivo de Configuração para Cada Membro
# /etc/mongod.conf (ajuste porta e dbPath por membro)
storage:
…
Perguntas frequentes
O que é um 'replica set'?
É um conjunto de servidores MongoDB que trabalham juntos para garantir que seus dados estejam sempre disponíveis e seguros, mesmo que um servidor falhe.
Como faço backup dos meus dados?
Você pode usar ferramentas como `mongodump` para criar cópias de segurança dos seus dados e `mongorestore` para restaurá-los se precisar.
O que é 'sharding'?
Sharding é uma técnica para dividir seus dados entre vários servidores. Isso ajuda o banco de dados a lidar com quantidades enormes de informação e a responder mais rápido.
Detalhes
Descrição original do autor
Administer MongoDB databases. Configure replica sets, sharding, and backups. Use when managing MongoDB deployments.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3617
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC