Menu Docs
Página inicial do Docs
/ / /
Kotlin Coroutine
/ /

Excluir um documento

Você pode excluir um único documento de uma collection usando o método deleteOne() em um objeto MongoCollection . O método aceita um filtro de query que corresponde ao documento que você deseja excluir. Se você não especificar um filtro, o MongoDB corresponderá ao primeiro documento da collection. O método deleteOne() exclui apenas o primeiro documento correspondente.

Este método retorna uma instância de DeleteResult que contém informações, incluindo quantos documentos foram excluídos como resultado da operação.

Se a sua operação de exclusão falhar, o driver emitirá uma exceção. Para obter mais informações sobre os tipos de exceções geradas em condições específicas, consulte a documentação da API para deleteOne(), cujo link está no final desta página.

O trecho a seguir exclui um único documento da collection movies do reconhecimento de data center sample_mflix . O exemplo usa o filtro eq() para corresponder a filmes com title correspondendo exatamente ao texto 'The Garbage Pail Kids Movie'.

Observação

Esse exemplo se conecta a uma instância do MongoDB usando um URI de conexão. Para saber mais sobre como se conectar à sua instância do MongoDB , consulte oguia de conexão .

import com.mongodb.MongoException
import com.mongodb.client.model.Filters
import com.mongodb.kotlin.client.coroutine.MongoClient
import kotlinx.coroutines.runBlocking
data class Movie(val title: String)
fun main() = runBlocking {
// Replace the uri string with your MongoDB deployment's connection string
val uri = "<connection string uri>"
val mongoClient = MongoClient.create(uri)
val database = mongoClient.getDatabase("sample_mflix")
val collection = database.getCollection<Movie>("movies")
val query = Filters.eq(Movie::title.name, "The Garbage Pail Kids Movie")
try {
val result = collection.deleteOne(query)
println("Deleted document count: " + result.deletedCount)
} catch (e: MongoException) {
System.err.println("Unable to delete due to an error: $e")
}
mongoClient.close()
}

Ao executar o exemplo, se o filtro de query que você passou na sua chamada para deleteOne() corresponder a um documento e removê-lo, você deverá ver um resultado parecido com este:

Deleted document count: 1

Se a sua query não corresponder a um documento na sua collection, a sua chamada para deleteOne() não removerá nenhum documento e retornará o seguinte:

Deleted document count: 0

Para obter mais informações sobre as classes e métodos mencionados nesta página, consulte a seguinte documentação da API:

  • DeleteOne()

  • DeleteResult

  • eq()

Voltar

Excluir