Menu Docs
Página inicial do Docs
/ / /
Java síncrono
/ /

Excluir vários documentos

Você pode excluir vários documento de uma collection em uma única operação chamando o método deleteMany() em um objeto MongoCollection .

Para especificar quais documentos excluir, passe um filtro de query que corresponda aos documentos que você deseja excluir. Se você fornecer um documento vazio, o MongoDB corresponderá a todos os documentos na coleção e os excluirá. Embora você possa usar deleteMany() para excluir todos os documentos em uma coleção, considere usar o método drop() para obter melhor desempenho.

Após a exclusão bem-sucedida, este método retorna uma instância de DeleteResult. Você pode recuperar informações, como o número de documentos excluídos, chamando o método getDeletedCount() na instância DeleteResult .

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 deleteMany(), cujo link está no final desta página.

O trecho a seguir exclui vários documento da collection movies no reconhecimento de data center sample_mflix .

O filtro de query passado para o método deleteMany() corresponde a todos os documentos de filmes que contêm rating menor que 1,9 no subdocumento imdb.

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 multiple documents from a collection by using the Java driver
package usage.examples;
import static com.mongodb.client.model.Filters.lt;
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 DeleteMany {
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 = lt("imdb.rating", 1.9);
try {
// Deletes all documents that have an "imdb.rating" value less than 1.9
DeleteResult result = collection.deleteMany(query);
// Prints the number of deleted documents
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, você deverá visualizar a saída que relata o número de documentos excluídos na sua chamada para deleteMany().

Deleted document count: 4

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:

  • DeleteMany()

  • DeleteResult

  • Drop()

Voltar

Excluir um documento