Agrupamento possibilita que você especifique regras específicas do idioma para comparação de strings, como regras para letras maiúsculas e acentos.
Limitações
As seguintes restrições se aplicam quando o parâmetro numericOrdering é configurado para true:
Somente substrings contíguos de números inteiros não negativos são considerados nas comparações.
numericOrderingnão suporta:+-expoentes
Somente pontos de código Unicode na categoria Número ou Dígito Decimal (Nd) são tratados como dígitos.
Se o comprimento do número exceder 254 caracteres, o excesso de caracteres será tratado como um número separado.
Procedimento
No Atlas, VáGo para a Data Explorer página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Data Explorer sob o título Database.
O Data Explorer é exibido.
Observação
Você também pode ir para a página Clusters e clicar em Data Explorer sob o título Shortcuts.
Selecione um localevalor para.
É necessário selecionar um locale a partir dos idiomas suportados pelo MongoDB.
Todos os outros parâmetros de opções de agrupamento são opcionais. Para obter descrições dos campos, consulte Agrupamento.
Exemplo
Considere uma coleta com o seguinte número de string e valores decimais:
[ { "n": "1" }, { "n": "2" }, { "n": "-2.1" }, { "n": "2.0" }, { "n": "2.20" }, { "n": "10"}, { "n": "20" }, { "n": "20.1" }, { "n": "-10" }, { "n": "3" } ]
A consulta de localização a seguir usa um documento de agrupamento contendo o parâmetro numericOrdering:
db.c.find( { }, { _id: 0 } ).sort( { n: 1 } ).collation( { locale: 'en_US', numericOrdering: true } )
Para mais informações sobre como consultar documentos no Atlas, consulte Consultar seus dados.
As operações retornam os seguintes resultados:
[ { "n": "-2.1" }, { "n": "-10" }, { "n": "1" }, { "n": "2" }, { "n": "2.0" } { "n": "2.20" }, { "n": "3" }, { "n": "10" }, { "n": "20" }, {"n": "20.1" } ]
numericOrdering: trueordenar os valores da string em ordem crescente como se fossem valores numéricos.Os dois valores negativos
-2.1e-10não são classificados na ordem de classificação esperada porque têm-caracteres não suportados.