Com fazer queries com o operador composto
Visão geral
Neste guia, você aprenderá como usar vários operadores de pesquisa em uma query composta usando o pipeline de agregação.
Tempo necessário: 5 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.
Um índice de pesquisa com configurações padrão e indexação dinâmica. Para criar um índice dinâmico padrão, consulte Construir um índice dinâmico.
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.
Clique na aba Collections.
Clique no reconhecimento de data center do sample_supplies
, então clique na collection sales
.
Execute uma query composta no seu índice na Aggregations aba.
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 $search .
Substitua o código do espaço reservado pela seguinte query.
{ "compound": { "filter": [{ "text": { "query": "Online", "path": "purchaseMethod" } }], "should": [{ "text": { "query": "notepad", "path": "items" } }] } }
Esta query utiliza o operador compound
com:
A cláusula
filter
para retornar somente documentos compurchaseMethod
deOnline
.A cláusula
should
para retornar documentos com um campoitems
que contémnotepad
para ter uma pontuação maior do que aqueles que não têm.
Revise os resultados da query composta.
No painel direito, seus resultados devem incluir uma lista de documentos que se assemelham ao seguinte documento de amostra:
items: Array 0: Object 1: Object 2: Object name: "notepad" ... storeLocation: "Denver" customer: Object couponUsed: false purchaseMethod: "Online" _id: ObjectID('5bd761dcae323e45a93cd06e') saleDate: 2013-11-22T18:49:45.212+00:00
Observação
Os campos nem sempre aparecem na mesma ordem para cada documento retornado.
Você pode expandir os campos Array
e Object
para visualizar seu conteúdo clicando neles.
Resumo
Se você concluiu com êxito o procedimento neste guia, criou um estágio de agregação do Atlas Search com um operador composto e viu como diferentes cláusulas do operador interagem para focar os resultados da pesquisa em vários eixos. No próximo guia, você aprenderá como agrupar resultados de pesquisar usando faceta.
Recupere documentos no MongoDB com contagens de valores específicos.