Puede eliminar un solo documento de una colección utilizando el deleteOne()
Método en un objeto MongoCollection. El método acepta un filtro de consulta que coincide con el documento que desea eliminar. Si no especifica un filtro, MongoDB busca el primer documento de la colección. El método deleteOne() solo elimina el primer documento encontrado.
Este método devuelve una instancia de DeleteResult que contiene información que incluye cuántos documentos se eliminaron como resultado de la operación.
Si la operación de eliminación falla, el controlador genera una excepción. Para obtener más información sobre los tipos de excepciones generadas en condiciones específicas, consulte la documentación de la API de deleteOne(), cuyo enlace encontrará al final de esta página.
Ejemplo
El siguiente fragmento elimina un solo documento de la colección movies de la base de datos sample_mflix. El ejemplo utiliza el filtro eq() para buscar películas con el title que coincida exactamente con el texto 'The Garbage Pail Kids Movie'.
Nota
Este ejemplo se conecta a una instancia de MongoDB mediante una URI de conexión. Para obtener más información sobre cómo conectarse a su instancia de MongoDB, consulte Guía de conexión.
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() }
Cuando ejecuta el ejemplo, si el filtro de consulta que pasó en su llamada a deleteOne() coincide con un documento y lo elimina, debería ver un resultado similar a esto:
Deleted document count: 1
Si su filtro de consulta no coincide con un documento en su colección, su llamada a deleteOne() no elimina ningún documento y devuelve lo siguiente:
Deleted document count: 0
Para obtener información adicional sobre las clases y métodos mencionados en esta página, consulte la siguiente documentación de API: