Bulk.find.collation()
Nesta página
Descrição
Bulk.find.collation(<document>)
Especifica oagrupamento para gravações em massa. Anexar ao método
Bulk.find()
para especificar agrupamento para a operação de localização.O
Bulk.find.collation()
aceita o seguinte documento de agrupamento :{ locale: <string>, caseLevel: <boolean>, caseFirst: <string>, strength: <int>, numericOrdering: <boolean>, alternate: <string>, maxVariable: <string>, backwards: <boolean> } Ao especificar agrupamento, o campo
locale
é obrigatório; todos os outros campos de agrupamento são opcionais. Para obter descrições dos campos, consulte Documento de agrupamento.CampoTipoDescriçãolocale
string
O local da UTI. Consulte Idiomas e localidades compatíveis para obter uma lista das localidades suportadas.
Para especificar uma comparação binária simples, especifique
locale
valor de"simple"
.strength
inteiro
Opcional. O nível de comparação a ser executado. Corresponde aos níveis de comparação da UTI. Os valores possíveis são:
ValorDescrição1
Nível primário de comparação. O agrupamento realiza comparação apenas dos caracteres básicos, ignorando outras diferenças, como diacríticos, maiúsculas e minúsculas.
2
Nível secundário de comparação. O agrupamento realiza comparações até diferenças secundárias, como diacríticos. Ou seja, o agrupamento realiza comparações de caracteres básicos (diferenças primárias) e sinais diacríticos (diferenças secundárias). As diferenças entre caracteres básicos têm precedência sobre diferença secundária.
3
Nível terciário de comparação. O agrupamento realiza comparações até diferenças terciárias, como variantes de maiúsculas e minúsculas. Ou seja, o agrupamento realiza comparações de caracteres básicos (diferenças primárias), diacríticos (diferenças secundárias) e caso e variantes (diferenças terciárias). Diferenças entre caracteres básicos tem precedência sobre diferenças secundárias, que tem precedência sobre as diferenças terciárias.
Este é o nível padrão.
4
Nível quaternário. Limitado para casos de uso específicos para considerar a pontuação quando os níveis 1-3 ignoram a pontuação ou para processar texto em japonês.
5
Nível idêntico. Limitado para casos de uso específicos do disjuntor tie .
Consulte Agrupamento de ICU: Níveis de Comparação para detalhes.
caseLevel
booleano
Opcional. Sinalizador que determina se a comparação de caso deve ser incluída no nível
strength
1
ou2
.Se
true
, inclua comparação de caso; isto é,Quando usado com
strength:1
, o agrupamento compara caracteres básicos e maiúsculas e minúsculas.Quando usado com
strength:2
, o agrupamento compara caracteres básicos, diacríticos (e outras possíveis diferenças secundárias) e maiúsculas e minúsculas.
Se
false
, não inclua comparação de caso no nível1
ou2
. O padrão éfalse
.Para obter mais informações, consulte Agrupamento do ICU: nível de caso.
caseFirst
string
Opcional. Um campo que determina a ordem de classificação das diferenças entre maiúsculas e minúsculas durante comparações de nível terciário.
Os valores possíveis são:
ValorDescrição"superior"
As maiúsculas são classificadas antes das minúsculas.
"inferior"
As minúsculas são classificadas antes das maiúsculas.
"OFF"
Valor padrão. Semelhante a
"lower"
com pequenas diferenças. Consulte a página https://unicode-org.github.io/icu/userguide/strings/properties.html#customization para ver um detalhamento das diferenças.numericOrdering
booleano
Opcional. Sinalizador que determina se as strings numéricas devem ser comparadas como números ou como strings.
Se
true
, compare como números; ou seja,"10"
é maior que"2"
.Se
false
, compare como strings; ou seja,"10"
é menor que"2"
.O padrão é
false
.alternate
string
Opcional. Campo que determina se o agrupamento deve considerar espaços em branco e pontuação como caracteres base para fins de comparação.
Os valores possíveis são:
ValorDescrição"non-ignorable"
Espaço em branco e pontuação são considerados caracteres básicos.
"shifted"
Espaço em branco e pontuação não são considerados caracteres base e só se distinguem em níveis de força superiores a 3.
Consulte Agrupamento de ICU: Níveis de Comparação para obter mais informações.
O padrão é
"non-ignorable"
.maxVariable
string
Opcional. Campo que determina até quais caracteres são considerados ignoráveis quando
alternate: "shifted"
. Não tem efeito sealternate: "non-ignorable"
Os valores possíveis são:
ValorDescrição"punct"
Tanto os espaços em branco quanto a pontuação são "ignoráveis", ou seja, não são considerados caracteres básicos.
"space"
Os espaços em branco são "ignoráveis", ou seja, não são considerados caracteres básicos.
backwards
booleano
Opcional. Bandeira que determina se as cadeias com sinais diacríticos são classificadas de trás da string, como com alguns pedidos no dicionário francês.
Se
true
, compare de trás para frente.Se
false
, compare de frente para trás.O valor padrão é
false
.normalization
booleano
Opcional. Sinalizador que determina se é necessário verificar se o texto requer normalização e para realizar a normalização. Geralmente, a maioria dos textos não exige esse processamento de normalização.
Se
true
, verifique se está totalmente normalizado e realize normalização para comparar o texto.Se
false
, não verifica.O valor padrão é
false
.Consulte https://unicode-org.github.io/icu/userguide/collation/concepts.html#normalization para obter detalhes.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
Exemplo
O exemplo a seguir inicializa um construtor de operações Bulk()
para a collection myColl
e especifica um agrupamento para o filtro de localização.
var bulk = db.myColl.initializeUnorderedBulkOp(); bulk.find( { category: "cafe" } ).collation({ locale: "fr", strength: 1 }).update( { $set: { status: "I", points: "0" } } ); bulk.execute();