Você pode usar o tipo dateFacet do MongoDB Search para indexar valores de data para facet.
O MongoDB Search suporta apenas queries de operadores de faceta em campos indexados como o tipo dateFacet . Para realizar uma pesquisa normal também no mesmo campo, você também deve indexar o campo como data do tipo.
Para faceta campos de string em documentos incorporados, você deve indexar os campos pai como o tipo de documento. Quando você faceta um campo de string dentro de documentos incorporados, o MongoDB Search retorna a contagem de faceta apenas para o número de documentos pai correspondentes.
O MongoDB Search não indexa dinamicamente os valores de data para facet. Você deve usar mapeamentos estáticos para indexar valores de data para facet. Você pode usar o Editor Visual ou o Editor JSON na UI do Atlas para indexar campos de data como o tipo number.
dateFacet Limitações de tipo
Aplicam-se as seguintes limitações:
Você não pode indexar um campo de data para faceting se ele estiver dentro de uma matriz ou se estiver dentro de um documento em uma matriz.
O MongoDB Search não suporta a facet de data em campos indexados como parte de um campo
embeddedDocuments.Observação
Para solicitar esse recurso e fornecer seu feedback, use o feedback do MongoDB.
Defina o índice para o tipo dateFacet
Para definir o índice para o tipo dateFacet , escolha seu método de configuração preferido na UI do Atlas e então selecione o banco de dados e collection.
Clique em Refine Your Index para configurar seu índice.
Na seção Field Mappings, clique em Add Field Mapping para abrir a janela Add Field Mapping.
Clique em Customized Configuration.
Selecione o campo a ser indexado no menu suspenso Field Name.
Observação
Você não pode indexar campos que contêm o sinal de dólar (
$) no início do nome do campo.Clique no menu suspenso Data Type e selecione DateFacet. Para saber mais sobre esse tipo, consulte Propriedades do campo.
Clique em Add.
A seguir está a sintaxeJSON para o tipo dateFacet. Substitua a definição de índice padrão pelo seguinte. Para saber mais sobre os campos, consulte Propriedades do campo.
{ "mappings": { "dynamic": true|false, "fields": { "<field-name>": { "type": "dateFacet" } } } }
Configurar propriedades de campo do dateFacet
O tipo MongoDB Search dateFacet usa o seguinte parâmetro:
Nome do campo UI | JSON Option | Tipo | necessidade | Descrição |
|---|---|---|---|---|
Data Type |
| string | necessário | Etiqueta legível por humanos que identifica este tipo de campo. O valor deve ser |
Experimente um exemplo para o tipo dateFacet
The following index definition example uses the sample_mflix.movies collection. If you have the sample data already loaded on your cluster, you can use the Visual Editor or JSON Editor in the Atlas UI to configure the index. After you select your preferred configuration method, select the database and collection, and refine your index to add field mappings.
O exemplo de definição de índice a seguir indexa o campo released como o tipo dateFacet do MongoDB Search para oferecer suporte a queries nesse campo usando o facet (Operador de pesquisa do MongoDB).
Na janela Add Field Mapping, selecione released no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione DateFacet.
Clique em Add.
Substitua a definição de índice padrão pela seguinte definição de índice.
{ "mappings": { "dynamic": false, "fields": { "released": { "type": "dateFacet" } } } }
O exemplo de definição de índice a seguir indexa o campo released como os tipos dateFacet e date para retornar os seguintes tipos de resultados para suas queries:
Resultados de metadados para queries usando o MongoDB Search
facet(Operador de Pesquisa do MongoDB).Resultados da pesquisa para queries usando operadores de pesquisa do MongoDB, como próximo, igual e intervalo.
Na janela Add Field Mapping, selecione released no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione DateFacet.
Clique em Add.
Repita a etapa 1 e selecione Date no menu suspenso Data Type.
Clique em Add.
Substitua a definição de índice padrão pela seguinte definição de índice.
{ "mappings": { "dynamic": false, "fields": { "released": [ { "type": "dateFacet" }, { "type": "date" } ] } } }
Saiba mais
Para aprender mais sobre o coletor facet e ver exemplos de queries, consulte Exemplos.
Para saber como criar um índice com uma definição de faceta e consultar esse índice usando o coletor facet, consulte o tutorial Como usar facets com o MongoDB Search.