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 documento existentes de uma collection, você pode usar deleteOne() para remover um documento ou deleteMany() para um ou mais documento. Esses métodos aceitam um documento de query que corresponde aos documentos que você deseja excluir.
Observação
Se o seu aplicação usar informações sobre o documento excluído após a exclusão, você poderá usar o método collection.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 de conexão. Este exemplo também usa a coleção movies no banco de dados sample_mflix incluído nos conjuntos de dados de amostra do Atlas. Você pode carregá-los em seu banco de dados em um cluster gratuito no MongoDB Atlas seguindo o MongoDB Get Started.
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:
// Delete a document
import { MongoClient } from "mongodb";
// Replace the uri string with your MongoDB deployment's connection stringconst uri = "<connection string uri>";
const client = new MongoClient(uri);
async function run() { try { const database = client.db("sample_mflix"); const movies = database.collection("movies");
/* Delete the first document in the "movies" collection that matches the specified query document */ const query = { title: "Annie Hall" }; const result = await movies.deleteOne(query);
/* Print a message that indicates whether the operation deleted a document */ if (result.deletedCount === 1) { console.log("Successfully deleted one document."); } else { console.log("No documents matched the query. Deleted 0 documents."); } } finally { // Close the connection after the operation completes await client.close(); }}// Run the program and print any thrown exceptionsrun().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 de conexão. Este exemplo também usa a coleção movies no banco de dados sample_mflix incluído nos conjuntos de dados de amostra do Atlas. Você pode carregá-los em seu banco de dados em um cluster gratuito no MongoDB Atlas seguindo o MongoDB Get Started.
O código a seguir é um arquivo completo e autônomo que executa uma operação de exclusão:
// Delete multiple documents
import { MongoClient } from "mongodb";
// Replace the uri string with your MongoDB deployment's connection string.const uri = "<connection string uri>";
const client = new MongoClient(uri);
async function run() { try { const database = client.db("sample_mflix"); const movies = database.collection("movies");
/* Delete all documents that match the specified regular expression in the title field from the "movies" collection */ const query = { title: { $regex: "Santa" } }; const result = await movies.deleteMany(query);
// Print the number of deleted documents console.log("Deleted " + result.deletedCount + " documents"); } finally { // Close the connection after the operation completes await client.close(); }}// Run the program and print any thrown exceptionsrun().catch(console.dir);// Delete multiple documents
import { MongoClient } from "mongodb";
// Replace the uri string with your MongoDB deployment's connection stringconst uri = "<connection string uri>";
const client = new MongoClient(uri);
async function run() { try { const database = client.db("sample_mflix"); const movies = database.collection("movies");
/* Delete all documents that match the specified regular expression in the title field from the "movies" collection */ const result = await movies.deleteMany({ title: { $regex: "Santa" } }); // Print the number of deleted documents console.log("Deleted " + result.deletedCount + " documents"); } finally { // Close the connection after the operation completes await client.close(); }}// Run the program and print any thrown exceptionsrun().catch(console.dir);Executar o exemplo anterior pela primeira vez resulta na seguinte saída:
Deleted 19 documentsSe você executar o exemplo mais de uma vez, verá a seguinte saída porque excluiu os documentos correspondentes na primeira execução:
Deleted 0 documentsDocumentação da API
Para saber mais sobre qualquer um dos tipos ou métodos discutidos neste guia, consulte a seguinte documentação da API: