collation() (Definir Collation)
Última atualização: 2026-10-09
collation() (Definir Collation)
collation() define regras de comparação de strings para uma consulta: `db.users.find({ name: 'alice' }).collation({ locale: 'zh', strength: 2 })`. Ele governa sensibilidade a maiúsculas/minúsculas, tratamento de acentos e ordenação por idioma. Usos típicos são buscas sem distinção de maiúsculas e ordenação ciente de locale. Observe que os índices devem ser criados com a mesma collation para serem utilizáveis.
| Categoria | Cursor |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.<collection>.find(<filter>).collation(<collation>)
⚙️ Parâmetros
| collation | locale é obrigatório, strength é opcional — por exemplo {locale: 'en', strength: 2}. |
|---|
Retorno:O cursor com a collation aplicada (encadeável).
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// collation: busca sem distinção de maiúsculas para alice
const user = db.users.find({ name: 'alice' })
.collation({ locale: 'en', strength: 2 })
.toArray()
user
Saída:
[ { _id: ObjectId('64c8a1b20000000000000001'), name: 'Alice', age: 21 } ]
📌 Notas
- strength 2 ignora maiúsculas/minúsculas; strength 1 considera apenas caracteres base
- Para usar um índice, ele deve ser criado com a mesma collation
- Locales diferentes ordenam de formas diferentes — mantenha consultas e índices alinhados
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo collation habilita consultas sem distinção de maiúsculas?
APasse {locale: 'en', strength: 2} para que strings que diferem apenas em maiúsculas sejam comparadas como iguais.
QO collation afeta o uso de índices?
ASim — a collation da consulta deve corresponder à collation de criação do índice, caso contrário o índice não pode atender à consulta.
QComo escolho o locale para collation?
ACombine com o idioma do seu negócio, ex.: 'zh' para chinês, 'en' para inglês; consulte a lista de locales ICU quando em dúvida.