Excluir vários documentos
Você pode excluir vários documentos em uma coleção de uma só vez usando a coleção.deleteMany () método. Passe um documento de query para o método deleteMany()
para especificar um subconjunto de documentos na coleção a ser excluída. Se você não fornecer um query documento (ou se 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 de uma collection, considere usar drop() em vez disso para melhor desempenho e código mais claro.
Você pode especificar mais opções no objeto options
passado no segundo parâmetro do método deleteMany()
. Para obter informações mais detalhadas, consulte a documentação da API deleteMany().
Exemplo
O trecho a seguir exclui vários documentos da collection movies
. Ele usa um documento de query que configura a query para combinar e excluir filmes com o título “Papai Noel”.
Observação
Você pode utilizar este exemplo para se conectar a uma instância do MongoDB e interagir com um banco de dados que contém dados de amostra. Para saber mais sobre como se conectar à sua instância do MongoDB e carregar um conjunto de dados de amostra, consulte o guia Exemplos de uso.
1 // Delete multiple documents 2 3 import { MongoClient } from "mongodb"; 4 5 // Replace the uri string with your MongoDB deployment's connection string. 6 const uri = "<connection string uri>"; 7 8 const client = new MongoClient(uri); 9 10 async function run() { 11 try { 12 const database = client.db("sample_mflix"); 13 const movies = database.collection("movies"); 14 15 /* Delete all documents that match the specified regular 16 expression in the title field from the "movies" collection */ 17 const query = { title: { $regex: "Santa" } }; 18 const result = await movies.deleteMany(query); 19 20 // Print the number of deleted documents 21 console.log("Deleted " + result.deletedCount + " documents"); 22 } finally { 23 // Close the connection after the operation completes 24 await client.close(); 25 } 26 } 27 // Run the program and print any thrown exceptions 28 run().catch(console.dir);
1 // Delete multiple documents 2 3 import { MongoClient } from "mongodb"; 4 5 // Replace the uri string with your MongoDB deployment's connection string 6 const uri = "<connection string uri>"; 7 8 const client = new MongoClient(uri); 9 10 async function run() { 11 try { 12 const database = client.db("sample_mflix"); 13 const movies = database.collection("movies"); 14 15 /* Delete all documents that match the specified regular 16 expression in the title field from the "movies" collection */ 17 const result = await movies.deleteMany({ title: { $regex: "Santa" } }); 18 19 // Print the number of deleted documents 20 console.log("Deleted " + result.deletedCount + " documents"); 21 } finally { 22 // Close the connection after the operation completes 23 await client.close(); 24 } 25 } 26 // Run the program and print any thrown exceptions 27 run().catch(console.dir);
Ao executar o exemplo anterior pela primeira vez, você vê a seguinte saída:
Deleted 19 documents
Se você executar o exemplo mais de uma vez, verá a seguinte saída porque excluiu os documentos correspondentes na primeira execução:
Deleted 0 documents