Excluir um documento
Você pode excluir um único documento em uma coleção com collection.deleteOne()
. O método deleteOne()
utiliza um documento de query fornecido por você para corresponder ao subconjunto de documentos da coleção que correspondem à query. 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 excluirá a primeira correspondência.
Você pode especificar mais opções de consulta utilizando o options
objeto passado como o segundo parâmetro do deleteOne
método . Para obter mais informações sobre esse método, consulte a documentação da API deleteOne () .
Observação
Se o seu aplicativo precisar do documento excluído após a exclusão, considere o uso do método collection.findOneAndDelete() , que tem uma interface semelhante a deleteOne()
, mas também retorna o documento excluído.
Exemplo
O trecho a seguir exclui um único documento da coleção movies
. Ele usa um query que configura a query para corresponder a filmes com um valor title
de "Annie Hall".
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 oGuia de exemplos de uso .
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);
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);
Observação
Trechos de código idênticos
Os trechos de código JavaScript e TypeScript acima são idênticos. Não existem características específicas do TypeScript do condutor relevantes para este caso de utilização.
Ao executar o exemplo anterior, você vê a seguinte saída:
Successfully deleted one document.
Se você executar o exemplo mais de uma vez, verá a seguinte saída porque excluiu o documento correspondente na primeira execução:
No documents matched the query. Deleted 0 documents.