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.
Exemplo
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: