Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver de Kotlin Sync

executar uma query de pesquisa Atlas

Neste guia, você pode aprender como usar o driver Kotlin Sync para executar queries do Atlas Search em uma collection. O Atlas Search permite realizar pesquisas de texto completo em collections hospedadas no MongoDB Atlas. Os índices do Atlas Search especificam o comportamento da busca e quais campos indexar.

Os exemplos deste guia usam a coleção movies no banco de dados sample_mflix dos conjuntos de dados de amostra do Atlas. Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia Iniciar com Atlas. Para saber mais sobre operações de agregação e construtores, consulte o guia Operações de agregação.

Esta seção mostra como criar um pipeline de agregação para executar uma query Atlas Search em uma coleção. Você pode usar o método do construtor Aggregates.search() para criar uma fase de pipeline $search, que especifica os critérios de pesquisa. Em seguida, chame o método aggregate() e passe seu pipeline como um parâmetro.

Observação

Disponível apenas no Atlas para MongoDB v4.2 e posterior

Esse operador de pipeline de agregação só está disponível para coleções hospedadas em clusters do MongoDB Atlas executando v4.2 ou posterior que são cobertas por um índice do Atlas Search. Saiba mais sobre a configuração necessária e a funcionalidade desse operador na documentação do Atlas Search.

Antes de executar uma query do Atlas Search , você deve criar um índice do Atlas Search na sua collection. Para saber como criar programaticamente um índice do Atlas Search, consulte a seção Criar um índice de pesquisa no guia Índices.

Este exemplo executa uma query do Atlas Search executando as seguintes ações:

  • Constrói uma etapa $search usando o método construtor Aggregates.search(), instruindo o driver a fazer query de documentos em que o campo title contém a palavra "Alabama"

  • Constrói um estágio $project usando o método construtor Aggregates.project(), instruindo o driver a incluir o campo title nos resultados da query

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

val pipeline: List<Bson> = listOf(
search(SearchOperator.text(
fieldPath("title"), "Alabama")),
project(Projections.include("title"))
)
val results = collection.aggregate(pipeline)
results.forEach { doc ->
println(doc.toJson())
}
{"_id": {"$oid": "..."}, "title": "Alabama Moon"}
{"_id": {"$oid": "..."}, "title": "Crazy in Alabama"}
{"_id": {"$oid": "..."}, "title": "Sweet Home Alabama"}

Use o método searchMeta() para criar um estágio de pipeline $searchMeta, que retorna somente os metadados dos resultados da pesquisa de texto completo do Atlas.

Dica

Disponível apenas no Atlas para MongoDB v4,4,11 e posterior

Este operador de pipeline de agregação está disponível somente em clusters do MongoDB Atlas executando a versão v4.4.11 ou posterior.

O exemplo a seguir mostra os metadados near para um estágio de agregação de pesquisa do Atlas:

searchMeta(
SearchOperator.near(2010, 1, fieldPath("year"))
)

Para saber mais sobre o Atlas Search, consulte Atlas Search na documentação do Atlas .

Para saber mais sobre os métodos mencionados neste guia, consulte a seguinte documentação da API:

Voltar

Executar um comando de banco de dados

Nesta página