Menu Docs
Página inicial do Docs
/ / /
Driver de sincronização Kotlin

Ler dados do MongoDB

Nesta página

  • Visão geral
  • Aplicativo de amostra
  • Encontrar documentos
  • Contagem de documentos em uma coleção
  • Contagem de documentos retornados de uma query
  • Contagem estimada de documentos
  • Recuperar valores distintos
  • Monitorar alterações de dados

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.

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:

  1. Verifique se você tem o driver Kotlin Sync instalado em seu projeto Maven ou Gradle.

  2. Copie o seguinte código e cole-o em um novo arquivo .kt .

  3. Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.

1import com.mongodb.ConnectionString
2import com.mongodb.MongoClientSettings
3import com.mongodb.client.model.*
4import com.mongodb.kotlin.client.*
5import org.bson.Document
6
7fun 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.

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 .

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.

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.

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.

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).

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 .

Voltar

Operações de gravação em massa

Próximo

Especificar uma query