O estágio $searchMeta retorna diferentes tipos de documentos de resultados de metadados .
Observação
Para executar queries do $searchMeta em coleções fragmentadas, seu cluster deve executar MongoDB v6.0 ou posterior.
Sintaxe
Um estágio de pipeline do $searchMeta tem a seguinte forma de protótipo:
{ $searchMeta: { "index": "<index-name>", "<collector-name>"|"<operator-name>": { <collector-specification>|<operator-specification> }, "count": { <count-options> }, "returnScope": { "path": "<embedded-documents-field-to-retrieve>" } "returnStoredSource": true | false } }
Campos
O estágio $searchMeta recebe um documento com os seguintes campos:
Campo | Tipo | necessidade | Descrição |
|---|---|---|---|
| objeto | Condicional | Nome do coletor para utilizar com a query. Você pode fornecer um documento que contenha as opções específicas do coletor como valor para esse campo. O valor deve ser |
| objeto | Opcional | Documento que especifica as opções de contagem para recuperar uma contagem dos resultados. Para saber mais, consulte Resultados da pesquisa de contagem do MongoDB. |
| string | Opcional | Nome do índice do MongoDB Search a ser usado. Se omitido, o padrão é A pesquisa do MongoDB não retorna resultados se você digitar incorretamente o nome do índice ou se o índice especificado ainda não existir no cluster. |
| objeto | Condicional | Nome do operador com o qual pesquisar. Você pode fornecer um documento contendo as opções específicas do operador como valor do campo. Você deve especificar isto ou |
| objeto | Opcional | Object that sets the context of the query to the specified embedded document field. You must also specify |
| booleano | Condicional | Flag that specifies whether to perform a full document lookup on the backend database or return only stored source fields directly from MongoDB Search. If omitted, defaults to Para saber mais, consulte Devolver campos de origem armazenados. |
Comportamento
O estágio $searchMeta deve ser o primeiro estágio em qualquer pipeline.
Tipos de resultados de metadados
A estrutura do documento de resultados de metadados que é retornado pelo estágio $searchMeta varia de acordo com o tipo de resultados. O MongoDB Search oferece suporte aos seguintes tipos de resultados:
Tipo | Estrutura de resultados |
|---|---|
| O resultado da contagem incluído nos resultados indica se a contagem retornada nos resultados é uma contagem total dos resultados da pesquisa ou um limite inferior. Para saber mais, consulte Contagem de resultados. |
| O resultado de uma query de facet é um mapeamento dos nomes de facets definidos para uma array de compartimentos dessa faceta. Para saber mais, consulte Resultados do facet. |
Exemplo
Suponha o seguinte índice na coleção sample_mflix.movies .
{ "mappings": { "dynamic": false, "fields": { "year": { "type": "number" } } } }
A consulta a seguir pesquisa o número de filmes lançados em 1998 usando o estágio $searchMeta.
db.movies.aggregate([ { "$searchMeta": { "range": { "path": "year", "gte": 1998, "lt": 1999 }, "count": { "type": "total" } } } ])
[ { count: { total: Long("552") } } ]
Solução de problemas
Se você estiver enfrentando problemas com suas queries $search do MongoDB Search, consulte Solucionar problemas de queries.