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 .
// Deletes a document from a collection by using the Java driver package usage.examples; import static com.mongodb.client.model.Filters.eq; import org.bson.Document; import org.bson.conversions.Bson; import com.mongodb.MongoException; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.result.DeleteResult; public class DeleteOne { public static void main(String[] args) { // Replace the uri string with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); Bson query = eq("title", "The Garbage Pail Kids Movie"); try { // Deletes the first document that has a "title" value of "The Garbage Pail Kids Movie" DeleteResult result = collection.deleteOne(query); System.out.println("Deleted document count: " + result.getDeletedCount()); // Prints a message if any exceptions occur during the operation } catch (MongoException me) { System.err.println("Unable to delete due to an error: " + me); } } } }
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
Dica
Legacy API
Se você estiver usando a API herdada, consulte nossa página de perguntas frequentes para saber quais alterações devem ser feitas nesse exemplo de código.
Para obter mais informações sobre as classes e métodos mencionados nesta página, consulte a seguinte documentação da API: