Ler dados do MongoDB
Nesta página
Visão geral
Nesta página, você pode ver exemplos de código copiáveis que mostram métodos comuns que você pode usar para recuperar documentos usando o driver Kotlin Sync.
Dica
Para saber mais sobre qualquer um dos métodos mostrados nesta página, consulte o link para um guia relevante fornecido em cada seção.
Para usar um exemplo desta página, copie o exemplo de código para oaplicativo de amostra ou para seu próprio aplicativo. Certifique-se de substituir todos os espaços reservados nos exemplos de código, como <connection string URI>
, pelos valores relevantes para sua implantação do MongoDB.
Aplicativo de amostra
Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:
Verifique se você tem o driver Kotlin Sync instalado em seu projeto Maven ou Gradle.
Copie o seguinte código e cole-o em um novo arquivo
.kt
.Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.
1 import com.mongodb.ConnectionString 2 import com.mongodb.MongoClientSettings 3 import com.mongodb.client.model.* 4 import com.mongodb.kotlin.client.* 5 import org.bson.Document 6 7 fun main() { 8 val uri = "<connection string URI>" 9 10 val settings = MongoClientSettings.builder() 11 .applyConnectionString(ConnectionString(uri)) 12 .retryWrites(true) 13 .build() 14 15 // Create a new client and connect to the server 16 val mongoClient = MongoClient.create(settings) 17 val database = mongoClient.getDatabase("<database name>") 18 val collection = database.getCollection<Document>("<collection name>") 19 20 // Start example code here 21 22 // End example code here 23 }
Dica
Para obter instruções sobre como instalar o driver Kotlin Sync, consulte Download e instalação.
Encontrar documentos
O exemplo a seguir recupera uma lista de documentos que correspondem aos critérios especificados pelo filtro fornecido:
val filter = <filter> val results = collection.find(filter) results.forEach { result -> print(result) }
Para saber mais sobre o método find()
, consulte o guia Localizar documentos .
Contagem de documentos em uma coleção
O exemplo a seguir retorna o número de documentos na coleção especificada:
val count = collection.countDocuments() print(count)
Para saber mais sobre o método countDocuments()
, consulte a seção Recuperar uma contagem precisa do guia Contagem de documentos.
Contagem de documentos retornados de uma query
O exemplo a seguir retorna o número de documentos que correspondem aos critérios especificados pelo filtro fornecido:
val filter = <filter> val queryCount = collection.countDocuments(filter) print(queryCount)
Para saber mais sobre o método countDocuments()
, consulte a seção Recuperar uma contagem precisa do guia Contagem de documentos.
Contagem estimada de documentos
O exemplo a seguir retorna um número aproximado de documentos na collection especificada com base nos metadados da collection:
val estimatedCount = collection.estimatedDocumentCount() print(estimatedCount)
Para saber mais sobre o método estimatedDocumentCount()
, consulte a seção Recuperar uma contagem estimada do guia Contagem de documentos.
Recuperar valores distintos
O exemplo a seguir retorna todos os valores distintos do nome do campo especificado em uma determinada coleção:
val distinctResults = collection.distinct("<field name>") distinctResults.forEach { result -> print(result) }
Para saber mais sobre o método distinct()
, consulte o guia Retrieve Distinct Field Values (Recuperar valores de campos distintos).
Monitorar alterações de dados
O exemplo a seguir cria um change stream para uma determinada collection e imprime eventos de alteração subsequentes nessa collection:
val changeStream = collection.watch() changeStream.forEach { changeEvent -> print(changeEvent) }
Para saber mais sobre o método watch()
, consulte o guia Monitorar alterações de dados .