$strLenCP (Comprimento em Code Points)

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

$strLenCP (Comprimento em Code Points)

$strLenCP retorna o número de code points Unicode em uma string — essencialmente a contagem de caracteres que as pessoas percebem. Chinês, japonês e emoji contam como 1 cada, tornando-o adequado para limites de apelidos ou resumos de texto. Diferente do $strLenBytes, que conta bytes, caracteres multibyte não inflam o resultado. Observe que caracteres compostos (ex.: emoji com tom de pele) podem ocupar vários code points.

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

📝 Sintaxe

{ $strLenCP: <expressão de string> }

⚙️ Parâmetros

stringObrigatório; a expressão de string a medir.

Retorno:O comprimento em pontos de código como inteiro.

▶ Exemplo

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

// $strLenCP: validar o comprimento do apelido
db.users.aggregate([
  { $project: { len: { $strLenCP: '$nickname' } } }
])

Saída:

{ "_id": 1, "len": 4 }
{ "_id": 2, "len": 2 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual usar para um limite de apelido de 20 caracteres?
AUse $strLenCP — ele conta caracteres.
QQual é a distância para $strLenBytes?
ACada caractere chinês difere em 2 bytes.
QQuanto é um emoji?
AEmojis simples contam como 1; compostos podem contar como 2 ou mais.
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%