Visão geral
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.
Dados de amostra
Os exemplos neste guia utilizam a restaurants coleção do sample_restaurants no banco de dados do a partir do conjunto de dados de amostra do Atlas . Para saber como criar um sistema gratuito do MongoDB e carregar os conjuntos de dados de exemplo, consulte o guia de introdução ao MongoDB .
Os documentos nesta coleção são modelados pela seguinte classe de dados Kotlin :
data class Restaurant( val name: String, val cuisine: String )
Encontrar documentos
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.
Exemplo de localização de documentos
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()
Modificar comportamento de localização
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 |
|---|---|
| Limits the number of documents to return per batch. To learn more about
batch size, see cursor.batchSize()
in the MongoDB Server manual. |
| Sets the collation options for the query. |
| 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. |
| Specifies the index to use for the query. |
| Limits the number of documents to be returned from the query. |
| Sets the maximum execution time on the server for this operation. |
| Sets the number of documents to skip. |
| 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 de find(), consulte a documentação da API para a classe FindIterable.
Informações adicionais
Para visualizar exemplos de código executáveis que recuperam documentos usando o driver Kotlin Sync, consulte Ler dados do MongoDB.
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: