Flash cards
Review the key moves
What is the main idea behind Node.js MongoDB Delete?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___ MongoClient = require('mongodb').MongoClient;Put the learning moves in the order that makes the concept easiest to apply.
Delete Document
To delete a record, or document as it is called in MongoDB, we use the deleteOne() method.
The first parameter of the deleteOne() method is a query object defining which document to delete.
Note
If the query finds more than one document, only the first occurrence is deleted.
Example
Delete the document with the address "Mountain 21":
let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
let dbo = db.db("mydb");
let myquery = { address: 'Mountain 21' };
dbo.collection("customers").deleteOne(myquery, function(err, obj) {
if (err) throw err;
console.log("1 document deleted");
db.close();
});
});Save the code above in a file called "demo_delete.js" and run the file:
Run "demo_delete.js"
C:\Users\
Your Name
>node demo_delete.jsWhich will give you this result
1 document deletedDelete Many
To delete more than one document, use the deleteMany() method.
The first parameter of the deleteMany() method is a query object defining which documents to delete.
Example
Delete all documents were the address starts with the letter "O":
let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
let dbo = db.db("mydb");
let 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();
});
});Save the code above in a file called "demo_delete_many.js" and run the file:
Run "demo_delete_many.js"
C:\Users\
Your Name
>node demo_delete_many.jsWhich will give you this result
2 document(s) deletedThe Result Object
The deleteMany() method returns an object which contains information about how the execution affected the database.
Most of the information is not important to understand, but one object inside the object is called "result" which tells us if the execution went OK, and how many documents were affected.
The result object looks like this
{ n: 2, ok: 1 }You can use this object to return the number of deleted documents:
Return the number of deleted documents
console.log(obj.result.n);Which will produce this result
2