Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Executar uma query de pesquisa do MongoDB

Neste guia, você pode aprender como usar o driver Go para executar queries de pesquisa MongoDB em uma coleção. O MongoDB Search permite realizar pesquisas de texto completo em coleções hospedadas no MongoDB Atlas. Os índices de pesquisa do MongoDB especificam o comportamento da pesquisa e quais campos indexar.

O exemplo neste guia usa a coleção movies no banco de dados sample_mflix dos conjuntos de dados de amostra do Atlas. Para aprender a criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o Guia de Introdução do MongoDB.

Esta seção mostra como criar um pipeline de agregação para executar uma query do MongoDB Search em uma coleção.

Para executar uma query de pesquisa do MongoDB Search, você deve criar um índice de pesquisa do MongoDB Search em sua coleção. Para saber como criar programaticamente um índice de pesquisa do MongoDB Search, consulte a seção MongoDB Search e MongoDB Vector Search Indexes do guia Índices.

Depois de criar um índice do MongoDB Search, adicione o estágio $search ao array de estágios do pipeline para especificar os critérios de pesquisa. Em seguida, chame o método Aggregate() e passe seu array de pipeline como parâmetro.

Dica

Para saber mais sobre as operações de agregação, consulte o Guia de agregação.

Observação

Requisitos da versão do Atlas e Community Edition

O $search operador de pipeline de agregação está disponível somente para coleções hospedadas em clusters do MongoDB Atlas que executam o MongoDB 4 v.2 ou posterior, ou em clusters do MongoDB Community Edition que executam o MongoDB8 v.2 ou posterior. As collections devem ser cobertas por um índice do MongoDB Search. Para saber mais sobre a configuração necessária e a funcionalidade desse operador, consulte a documentação do MongoDB Search.

Este exemplo executa uma query de pesquisa do MongoDB Search executando as seguintes ações:

  • Cria um estágio $search que instrui o driver a fazer query de documentos nos quais o campo title contém a palavra "Alabama"

  • Cria uma etapa $project que instrui o driver a incluir o campo title nos resultados da consulta

  • Passa as fases do pipeline para o método Aggregate() e imprime os resultados

// Defines the pipeline
searchStage := bson.D{{"$search", bson.D{
{"text", bson.D{
{"path", "title"},
{"query", "Alabama"},
}},
}}}
projectStage := bson.D{{"$project", bson.D{{"title", 1}}}}
// Runs the pipeline
cursor, err := collection.Aggregate(ctx, mongo.Pipeline{searchStage, projectStage})
if err != nil {
panic(err)
}
// Prints the results
var results []bson.D
if err = cursor.All(ctx, &results); err != nil {
panic(err)
}
for _, result := range results {
fmt.Println(result)
}

Para saber mais sobre o MongoDB Search, consulte os guias MongoDB Search e a referência do estágio do pipeline $search na documentação do Atlas.

Para saber mais sobre o método Aggregate(), consulte a documentação da API.