Excluir Node.js MongoDB


Excluir documento

Para excluir um registro ou documento como é chamado no MongoDB, usamos o deleteOne()método.

O primeiro parâmetro do deleteOne()método é um objeto de consulta que define qual documento excluir.

Nota: Se a consulta encontrar mais de um documento, apenas a primeira ocorrência será excluída.

Exemplo

Exclua o documento com o endereço "Mountain 21":

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myquery = { address: 'Mountain 21' };
  dbo.collection("customers").deleteOne(myquery, function(err, obj) {
    if (err) throw err;
    console.log("1 document deleted");
    db.close();
  });
});

Salve o código acima em um arquivo chamado "demo_delete.js" e execute o arquivo:

Execute "demo_delete.js"

C:\Users\Your Name>node demo_delete.js

Que lhe dará este resultado:

1 document deleted


Excluir muitos

Para excluir mais de um documento, use o deleteMany()método.

O primeiro parâmetro do deleteMany()método é um objeto de consulta que define quais documentos excluir.

Exemplo

Exclua todos os documentos onde o endereço começa com a letra "O":

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myquery = { address: /^O/ };
  dbo.collection("customers").deleteMany(myquery, function(err, obj) {
    if (err) throw err;
    console.log(obj.result.n + " document(s) deleted");
    db.close();
  });
});

Salve o código acima em um arquivo chamado "demo_delete_many.js" e execute o arquivo:

Execute "demo_delete_many.js"

C:\Users\Your Name>node demo_delete_many.js

Que lhe dará este resultado:

2 document(s) deleted

O Objeto Resultado

O deleteMany()método retorna um objeto que contém informações sobre como a execução afetou o banco de dados.

A maioria das informações não é importante para entender, mas um objeto dentro do objeto é chamado de "resultado", que nos diz se a execução foi OK e quantos documentos foram afetados.

O objeto de resultado se parece com isso:

{ n: 2, ok: 1 }

Você pode usar este objeto para retornar o número de documentos excluídos:

Exemplo

Retorna o número de documentos excluídos:

console.log(obj.result.n);

Que produzirá este resultado:

2