Gravar dados no MongoDB
Nesta página
Visão geral
Nesta página, você pode ver exemplos de código copiáveis de métodos comuns que você pode usar para escrever dados no MongoDB usando o driver Kotlin Sync.
Dica
Para saber mais sobre qualquer um dos métodos mostrados nesta página, consulte o link 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 }
insertOne
O código a seguir mostra como inserir um único documento em uma coleção:
val result = collection.insertOne(Document("<field name>", "<value>")) print(result.insertedId)
Para saber mais sobre o método insertOne()
, consulte o guia Inserir documentos .
Inserir vários
O seguinte código mostra como inserir vários documentos em uma coleção:
val docList = listOf( Document("<field name>", "<value>"), Document("<field name>", "<value>") ) val result = collection.insertMany(docList) print(result.insertedIds)
Para saber mais sobre o método insertMany()
, consulte o guia Inserir documentos .
UpdateOne
O código abaixo mostra como atualizar um único documento em uma collection criando ou editando um campo:
val query = Filters.eq("<field to match>", "<value to match>") val update = Updates.set("<field name>", "<value>") val result = collection.updateOne(query, update) print(result.modifiedCount)
Para saber mais sobre o método updateOne()
, consulte o guia Atualizar documentos .
Atualizar vários
O seguinte código mostra como atualizar vários documentos em uma collection criando ou editando um campo:
val query = Filters.eq("<field to match>", "<value to match>") val update = Updates.set("<field name>", "<value>") val result = collection.updateMany(query, update) print(result.modifiedCount)
Para saber mais sobre o método updateMany()
, consulte o guia Atualizar documentos .
replaceOne
O código a seguir mostra como substituir um único documento em uma coleção por um novo documento:
val query = Filters.eq("<field to match>", "<value to match>") val replacement = Document("<new document field name>", "<new document value>") val result = collection.replaceOne(query, replacement) print(result.modifiedCount)
Para saber mais sobre o método replaceOne()
, consulte o guia Substituir documentos .
Excluir um
O código a seguir mostra como excluir um único documento em uma collection:
val query = Filters.eq("<field to match>", "<value to match>") val result = collection.deleteOne(query) print(result.deletedCount)
Para saber mais sobre o método deleteOne()
, consulte o guia Excluir documentos .
Excluir vários
O seguinte código mostra como excluir vários documentos em uma coleção:
val query = Filters.eq("<field to match>", "<value to match>") val result = collection.deleteMany(query) print(result.deletedCount)
Para saber mais sobre o método deleteMany()
, consulte o guia Excluir documentos .
Gravação em massa
O seguinte código mostra como executar múltiplas operações de gravação em uma única operação em massa:
val bulkOps = listOf( InsertOneModel(Document("<field name>", "<value>")), UpdateOneModel( Filters.eq("<field to match>", "<value to match>"), Updates.set("<field name>", "<value>")), DeleteOneModel(Filters.eq("<field to match>", "<value to match>")) ) val result = collection.bulkWrite(bulkOps) print(result)
Para saber mais sobre o método bulkWrite()
, consulte o guia de escrita em massa .