Crie uma visualização com agrupamento padrão
O agrupamento possibilita que você defina regras específicas do idioma para comparação de strings, como regras para letras maiúsculas e acentos.
Esta página explica como especificar um agrupamento padrão para uma visualização.
Exemplo
Criar uma coleção places
com os seguintes documentos:
db.places.insertMany([ { _id: 1, category: "café" }, { _id: 2, category: "cafe" }, { _id: 3, category: "cafE" } ])
A operação a seguir cria uma visualização, especificando o agrupamento no nível da visualização:
db.createView( "placesView", "places", [ { $project: { category: 1 } } ], { collation: { locale: "fr", strength: 1 } } )
A operação a seguir usa o agrupamento da visualização:
db.placesView.countDocuments( { category: "cafe" } )
A operação retorna 3
.
Observação
Comportamento do agrupamento
Você pode especificar um agrupamento padrão para uma visualização no momento da criação. Se nenhum agrupamento for especificado, o agrupamento padrão da visualização será o coletor de comparação binária "simples". Ou seja, a visualização não herda o agrupamento padrão da collection.
As comparações de strings na visualização usam o agrupamento padrão da visualização. Uma operação que tenta alterar ou substituir a coleta padrão de uma visualização falhará com um erro.
Se estiver criando um modo de exibição a partir de outro modo de exibição, você não poderá especificar um agrupamento que difere do agrupamento do modo de exibição de origem.
Se executar uma aggregation que envolve múltiplas visualizações, como com
$lookup
ou$graphLookup
, as visualizações deverão ter o mesmo agrupamento.