Consultando com facets
Visão geral
Neste guia, você aprenderá como executar uma query com ocoletor de facet para agrupar os resultados da query e retornar a contagem para cada um desses grupos.
Tempo necessário: 10 minutos
O que você precisa
Uma conta MongoDB . Consulte Inscrever-se em uma conta MongoDB .
Um Atlas cluster. Consulte Criar um cluster.
Exemplos de conjuntos de dados carregados em seu cluster.
Procedimento
No Atlas, VáGo para a Clusters 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 o projeto desejado no menu Projects na barra de navegação.
Se ainda não estiver exibido, clique em Clusters na barra lateral.
A página Clusters é exibida.
Crie um índice do Atlas Search com facets.
Go Acesse a Atlas Search página do seu cluster.
Clique no nome do seu cluster.
Clique na aba Atlas Search.
A página Atlas Search é exibida.
Clique em Create Index.
Selecione o método de configuração Visual Editor e clique em Next.
Para o Database and Collection, selecione o banco de dados sample_supplies
e a coleção sales
. Em seguida, clique em Next.
Clique Refine Your Index. No painel Index Configuration , desative Dynamic Mapping.
No painel Field Mappings , clique em Add Field Mapping. Na janela modal, selecione purchaseMethod
no menu suspenso Field Name .
No menu suspenso Data Type , selecione String
. Clique em Add na parte inferior da janela modal. Deixe os valores Index Configurations inalterados e clique em Add na parte inferior da janela modal.
No painel Field Mappings , clique em Add Field Mapping. Na janela modal, selecione storeLocation
no menu suspenso Field Name .
Na lista suspensa Data Type , selecione StringFacet
. Clique em Add na parte inferior da janela modal.
Execute uma query facetada em seu índice usando o Pipeline de Agregação.
Clique na aba Aggregation.
Clique em + Add Stage para começar a criar seu pipeline de agregação.
Na janela do estágio, clique no menu suspenso rotulado Select... e selecione o estágio $searchMeta .
Substitua o código do espaço reservado pela seguinte query.
{ "facet": { "operator": { "text": { "query": ["In store"], "path": "purchaseMethod" } }, "facets": { "locationFacet": { "type": "string", "path": "storeLocation", } } } }
Esta query utiliza o coletor facet
com:
O operador
text
para contar apenas documentos com um valorpurchaseMethod
deIn store
.O facet denominado
locationFacet
que cria um bucket para cada valorstoreLocation
diferente.
Revise os resultados da consulta facetada.
Seus resultados devem se assemelhar ao seguinte documento de exemplo, que é mostrado parcialmente expandido:
count: Object lowerBound: 2819 facet: Object locationFacet: Object buckets: Array 0: Object id: "Denver" count: 864 1: Object id: "Seattle" count: 648 2: Object 3: Object 4: Object 5: Object
Você pode expandir os campos Array
e Object
para visualizar seu conteúdo clicando neles.
Resumo
Se você concluiu com sucesso o procedimento neste guia, criou um índice do Atlas Search com facet e criou um pipeline de agregação que aproveita o facet para organizar os registros correspondentes em categorias para melhorar a visibilidade.
Parabéns. Você concluiu todos os guias. Quer dar o próximo passo? Registre-se para o exame para desenvolvedores.