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.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Menu Docs

Encontrar documentos

Neste guia, você pode aprender como usar o driver Kotlin Sync para recuperar dados de uma coleção MongoDB usando operações de leitura. Você pode chamar o método find() para recuperar documentos que correspondam a um conjunto de critérios especificados em um filtro de query.

Os exemplos neste guia usam a coleção restaurants no banco de dados sample_restaurants dos conjuntos de dados de amostra do Atlas. Para aprender a criar uma implantação gratuita do MongoDB e carregar os conjuntos de dados de amostra, consulte o guia Começar do MongoDB.

Os documentos nesta coleção são modelados pela seguinte classe de dados Kotlin :

data class Restaurant(
val name: String,
val cuisine: String
)

O método find() recupera documentos de uma coleção. Este método usa um filtro de query e retorna todos os documentos correspondentes. Um filtro de query é um documento que especifica os critérios que o driver usa para corresponder aos documentos da coleção.

Para saber mais sobre filtros de query, consulte o guia Especificar uma query .

O exemplo a seguir encadeia o método first() à chamada de método find() para localizar o primeiro documento no qual o valor do campo cuisine é "Spanish":

val results = collection.find(eq(Restaurant::cuisine.name, "Spanish")).first()

A operação find() no exemplo anterior retorna um documento MongoDB , que você pode imprimir, conforme mostrado no exemplo a seguir:

val results = collection.find(eq(Restaurant::cuisine.name, "Spanish")).first()
println(results)
Restaurant(name=Tropicoso Club, cuisine=Spanish)

O exemplo a seguir usa o método find() para localizar todos os documentos nos quais o valor do campo cuisine é "Spanish":

val results = collection.find(eq(Restaurant::cuisine.name, "Spanish"))

A operação find() no exemplo anterior retorna um objeto FindIterable , que você pode iterar usando o método forEach() , conforme mostrado no exemplo a seguir:

val results = collection.find(eq(Restaurant::cuisine.name, "Spanish"))
results.forEach { result ->
println(result)
}
Restaurant(name=Tropicoso Club, cuisine=Spanish)
Restaurant(name=Beso, cuisine=Spanish)
Restaurant(name=Sabor Latino Restaurant, cuisine=Spanish)
...

Observação

Localizar todos os documentos

Para encontrar todos os documentos em uma coleção, passe um filtro vazio para o método find() :

val results = collection.find()

Você pode modificar o comportamento do método find() encadeando métodos à chamada de método find() . A tabela a seguir descreve os métodos comumente usados para modificar query:

Método
Descrição

batchSize()

Limita o número de documentos a serem devolvidos por lote. Para saber mais sobre o tamanho do lote , consulte cursor.batchSize() no manual do MongoDB Server .

collation()

Define as opções de agrupamento para a query.

comment()

Especifica uma string a ser anexada à query. Isso pode ajudá-lo a rastrear e interpretar a operação nos registros do servidor e nos dados de perfil.

first()

Retorna o primeiro documento que corresponde à query ou lança um MongoClientException se não existirem documentos correspondentes.

firstOrNull()

Retorna o primeiro documento que corresponde à query ou null se não existirem documentos correspondentes.

hint()

Especifica o índice a ser usado para a query.

limit()

Limita o número de documentos a serem retornados da query.

skip()

Define o número de documentos a ignorar.

sort()

Define os critérios de classificação a serem aplicados à query.

O exemplo a seguir encadeia o método limit() para limitar o número de documentos retornados pela query para 10:

val results = collection
.find(eq(Restaurant::cuisine.name, "Spanish"))
.limit(10)

Para obter uma lista completa dos métodos que modificam o comportamento da classe find(), consulte a documentação da API da classe FindIterable.

Para saber mais sobre filtros de queries, consulte Especificar uma query.

Para exibir exemplos de código executáveis que recuperam documentos usando o driver Kotlin Sync, consulte Localizar documentos.

Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: