collMod (Modificar Coleção)
Última atualização: 2026-10-09
collMod (Modificar Coleção)
collMod ajusta configurações de uma coleção existente: expiração de TTL de índice (expireAfterSeconds), o validador de schema, opções de índice e mais. O primeiro campo do documento de comando é o nome da coleção. collMod apenas ajusta coleções existentes — criar uma usa create. Alterações de validador se aplicam apenas a novas escritas e documentos atualizados.
| Categoria | Comandos de Administração |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.runCommand({ collMod: "<collection>", validator: { ... } })
db.runCommand({ collMod: "sessions", index: { keyPattern: { lastAccess: 1 }, expireAfterSeconds: 3600 } })
⚙️ Parâmetros
| validator | Novas regras de validação ($jsonSchema e similares). |
|---|---|
| index | Alterações de opções de índice, por exemplo TTL expireAfterSeconds. |
Retorno:Retorna ok: 1 mais os valores antigos/novos das opções modificadas
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// collMod: ajusta a expiração de TTL
use shop
db.runCommand({
collMod: 'sessions',
index: { keyPattern: { lastAccess: 1 }, expireAfterSeconds: 3600 }
})
Saída:
{ expireAfterSeconds_old: 86400, expireAfterSeconds_new: 3600, ok: 1 }
📌 Notas
- A expiração de TTL é alterada apenas via collMod após a criação do índice
- Alterações de validador afetam apenas novas escritas e documentos atualizados
- O primeiro campo do comando é o nome da coleção
🏷️ Tags Relacionados
💡 Casos Relacionados
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo altero um tempo de expiração de TTL?
AUse collMod com index.expireAfterSeconds — sem necessidade de reconstruir o índice.
QQuais configurações o collMod pode alterar?
AValidators, expiração de TTL, opções de índice e expansão de coleções fragmentadas, entre outras.
QAlterar o validador afeta documentos existentes?
ANão — ele valida apenas novas escritas e documentos atualizados.