Menu Docs
Página inicial do Docs
/ / /
Driver de Kotlin Sync
/

Retrieve Data

Nesta página

  • Visão geral
  • Dados de amostra
  • Encontrar documentos
  • Exemplo de localização de documentos
  • Modificar comportamento de localização
  • Informações adicionais
  • Documentação da API

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 utilizam a coleção do restaurants no banco de dados de dados do sample_restaurants a partir 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 .

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 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()
Limits the number of documents to return per batch. To learn more about batch size, see cursor.batchSize() in the MongoDB Server manual.
collation()
Sets the collation options for the query.
comment()
Specifies a string to attach to the query. This can help you trace and interpret the operation in the server logs and in profile data. To learn more about query comments, see $comment in the MongoDB Server manual.
hint()
Specifies the index to use for the query.
limit()
Limits the number of documents to be returned from the query.
maxTime()
Sets the maximum execution time on the server for this operation.
skip()
Sets the number of documents to skip.
sort()
Defines the sort criteria to apply to the query.

O exemplo a seguir encadeia os métodos limit() e maxTime() para limitar o número de documentos retornados pela query a 10 e definir um tempo máximo de execução de 10000 milissegundos na operação:

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

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

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 Ler dados do MongoDB.

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

  • find()

  • FindIterable

Voltar

Especificar uma query