Visão geral
Nesta seção, mostramos como chamar as operações de gravação para remover documento de uma collection no MongoDB database.
Excluir
Se quiser remover documentos existentes de uma collection, você pode usar deleteOne()
para remover um documento ou deleteMany()
para um ou mais documentos. Esses métodos aceitam um documento de query que corresponde aos documentos que você deseja excluir.
Observação
Se seu aplicação usar informações sobre o documento excluído após a exclusão, você poderá usar o método.findOneAndDelete() método, que tem uma interface semelhante a deleteOne()
, mas também retorna o documento excluído.
Você pode especificar o documento ou documentos a serem excluídos pelas operações de gravação deleteOne()
ou deleteMany()
em um objeto JSON da seguinte forma:
const doc = { pageViews: { $gt: 10, $lt: 32768 } };
Para excluir o primeiro documento correspondente usando o método deleteOne()
ou para excluir todos os documentos correspondentes usando o método deleteMany()
, passe o documento como parâmetro de método:
const deleteResult = await myColl.deleteOne(doc); const deleteManyResult = await myColl.deleteMany(doc);
Você pode imprimir o número de documentos excluídos pela operação acessando o campo deletedCount
do resultado para cada uma das chamadas de método acima como segue:
console.dir(deleteResult.deletedCount); console.dir(deleteManyResult.deletedCount);
Se a operação de exclusão for bem-sucedida, essas declarações imprimirão o número de documentos excluídos pela operação associada.
deleteOne() Exemplo: Arquivo Completo
Observação
Exemplo de configuraçã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 o guia Conectar ao MongoDB. Este exemplo também utiliza a coleção do movies
no banco de dados do sample_mflix
incluído nos conjuntos de dados de amostra do Atlas. Você pode carregá-los em seu banco de dados na camada grátis do MongoDB Atlas seguindo o Guia de Introdução ao Atlas.
Observação
Nenhum recurso específico do Typescript
O seguinte exemplo de código utiliza JavaScript. Não existem características específicas do Typescript do condutor relevantes para este caso de utilização.
O código a seguir é um arquivo completo e autônomo que executa uma operação de exclusão:
1 // Delete a document 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 the first document in the "movies" collection that matches 16 the specified query document */ 17 const query = { title: "Annie Hall" }; 18 const result = await movies.deleteOne(query); 19 20 /* Print a message that indicates whether the operation deleted a 21 document */ 22 if (result.deletedCount === 1) { 23 console.log("Successfully deleted one document."); 24 } else { 25 console.log("No documents matched the query. Deleted 0 documents."); 26 } 27 } finally { 28 // Close the connection after the operation completes 29 await client.close(); 30 } 31 } 32 // Run the program and print any thrown exceptions 33 run().catch(console.dir);
Ao executar o exemplo anterior, você verá a seguinte saída:
Successfully deleted one document.
Se você executar o exemplo mais de uma vez, o código produzirá a seguinte saída porque você excluiu o documento correspondente na primeira execução:
No documents matched the query. Deleted 0 documents.
deleteMany() Exemplo: Arquivo Completo
Observação
Exemplo de configuraçã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 o guia Conectar ao MongoDB. Este exemplo também utiliza a coleção do movies
no banco de dados do sample_mflix
incluído nos conjuntos de dados de amostra do Atlas. Você pode carregá-los em seu banco de dados na camada grátis do MongoDB Atlas seguindo o Guia de Introdução ao Atlas.
O código a seguir é um arquivo completo e autônomo que executa uma operação de exclusão:
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);
Executar o exemplo anterior pela primeira vez resulta na 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
Documentação da API
Para saber mais sobre qualquer um dos tipos ou métodos discutidos neste guia, consulte a seguinte documentação da API: