Excluir vários documentos
Você pode excluir vários documentos em uma collection de uma só vez usando a collection.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 da 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 opções adicionais 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 import { MongoClient } from "mongodb"; 2 3 // Replace the uri string with your MongoDB deployment's connection string. 4 const uri = "<connection string uri>"; 5 6 const client = new MongoClient(uri); 7 8 async function run() { 9 try { 10 const database = client.db("sample_mflix"); 11 const movies = database.collection("movies"); 12 // Query for all movies with a title containing the string "Santa" 13 const query = { title: { $regex: "Santa" } }; 14 15 const result = await movies.deleteMany(query); 16 console.log("Deleted " + result.deletedCount + " documents"); 17 } finally { 18 await client.close(); 19 } 20 } 21 run().catch(console.dir);
1 import { MongoClient } from "mongodb"; 2 3 // Replace the uri string with your MongoDB deployment's connection string. 4 const uri = "<connection string uri>"; 5 6 const client = new MongoClient(uri); 7 8 interface Movie { 9 title: string; 10 } 11 12 async function run() { 13 try { 14 const database = client.db("sample_mflix"); 15 const movies = database.collection<Movie>("movies"); 16 const result = await movies.deleteMany({ title: { $regex: "Santa" } }); 17 console.log("Deleted " + result.deletedCount + " documents"); 18 } finally { 19 await client.close(); 20 } 21 } 22 run().catch(console.dir);
Na primeira vez que executar o exemplo anterior, você deverá ver a seguinte saída:
Deleted 19 documents
Nas execuções subsequentes do exemplo, como você já excluiu todos os documentos relevantes, deverá ver o seguinte resultado:
Deleted 0 documents