Node.js MongoDB Supprimer


Supprimer le document

Pour supprimer un enregistrement, ou un document comme on l'appelle dans MongoDB, nous utilisons la deleteOne()méthode.

Le premier paramètre de la deleteOne()méthode est un objet de requête définissant le document à supprimer.

Remarque : Si la requête trouve plusieurs documents, seule la première occurrence est supprimée.

Exemple

Supprimez le document avec l'adresse "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();
  });
});

Enregistrez le code ci-dessus dans un fichier appelé "demo_delete.js" et exécutez le fichier :

Exécutez "demo_delete.js"

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

Ce qui vous donnera ce résultat :

1 document deleted


Supprimer plusieurs

Pour supprimer plusieurs documents, utilisez la deleteMany()méthode.

Le premier paramètre de la deleteMany()méthode est un objet de requête définissant les documents à supprimer.

Exemple

Supprimez tous les documents dont l'adresse commence par la lettre "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();
  });
});

Enregistrez le code ci-dessus dans un fichier appelé "demo_delete_many.js" et exécutez le fichier :

Exécutez "demo_delete_many.js"

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

Ce qui vous donnera ce résultat :

2 document(s) deleted

L'objet de résultat

La deleteMany()méthode renvoie un objet qui contient des informations sur la façon dont l'exécution a affecté la base de données.

La plupart des informations ne sont pas importantes à comprendre, mais un objet à l'intérieur de l'objet est appelé "résultat" qui nous indique si l'exécution s'est bien déroulée et combien de documents ont été affectés.

L'objet de résultat ressemble à ceci :

{ n: 2, ok: 1 }

Vous pouvez utiliser cet objet pour renvoyer le nombre de documents supprimés :

Exemple

Renvoie le nombre de documents supprimés :

console.log(obj.result.n);

Ce qui produira ce résultat :

2