Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Bulk.find.collation()

Nesta página

  • Descrição
  • Exemplo
Bulk.find.collation(<document>)

Especifica o agrupamento para as gravações em massa. Anexar ao método Bulk.find() para especificar o 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.

Campo
Tipo
Descrição
locale
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 ICU . Os valores possíveis são:

Valor
Descrição
1
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 obter detalhes.

caseLevel
boleano

Opcional. Sinalizador que determina se a comparação de caso deve ser incluída no nível strength 1 ou 2.

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ível 1 ou 2. O padrão é false.

Para obter mais informações, consulte Agrupamento de UTI: Nívelde 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:

Valor
Descrição
"superior"
As maiúsculas são classificadas antes das minúsculas.
"inferior"
As minúsculas são classificadas antes das maiúsculas.
"fora"
Valor padrão. Semelhante a "lower" com pequenas diferenças. Consulte https://unicode-org.github.io/icu/userguide/strings/properties.html#customization para obter detalhes das diferenças.
numericOrdering
boleano

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:

Valor
Descriçã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 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 se alternate: "non-ignorable"

Os valores possíveis são:

Valor
Descriçã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
boleano

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
boleano

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.

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();

Dica

Veja também:

← Bulk.find.arrayFilters()

Nesta página