$strcasecmp (Comparação sem Diferenciar Maiúsculas/Minúsculas)

Última atualização: 2026-10-09

$strcasecmp (Comparação sem Diferenciar Maiúsculas/Minúsculas)

$strcasecmp compara duas strings sem diferenciar maiúsculas de minúsculas e retorna -1, 0 ou 1 — útil para ordenação, agrupamento ou lógica condicional. Aceita apenas strings; outros tipos geram erro. Observe que compara pela ordem dos code points, não por colação de linguagem natural: o chinês é ordenado por code points Unicode, o que pode diferir da ordem por pinyin ou de dicionário. Qualquer argumento null resulta em null.

CategoriaString
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $strcasecmp: [ <expressão de string1>, <expressão de string2> ] }

⚙️ Parâmetros

string 1Obrigatório; a primeira expressão de string.
string 2Obrigatório; a segunda expressão de string.

Retorno:Resultado da comparação: -1, 0 ou 1; null se qualquer argumento for null.

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $strcasecmp: comparar com alice ignorando maiúsculas/minúsculas
db.users.aggregate([
  { $project: { cmp: { $strcasecmp: [ '$name', 'alice' ] } } }
])

Saída:

{ "_id": 1, "cmp": 0 }
{ "_id": 2, "cmp": 1 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QO que o 0 significa?
AAs duas strings são iguais ignorando maiúsculas/minúsculas.
QFunciona para chinês?
ASim, mas compara code points, não a ordem por pinyin ou de dicionário.
QQual é a diferença para $cmp?
A$cmp compara diferenciando maiúsculas/minúsculas em ordem binária; $strcasecmp ignora maiúsculas/minúsculas.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%