על מנת לעדכן רשומה קיימת משתמשים בפעולת patch. כדי לעדכן רשומה צריך את ה-ID שלה ואת השדות שאנחנו רוצים לעדכן שאותם נקבל דרך ה-body. כל שדה שלא יופיע ישאר כמו שהוא.
app.patch('/books/:id', (req, res) => {
const updates = req.body
if(ObjectId.isValid(req.params.id)){
db.collection('books')
.updateOne({_id: new ObjectId(req.params.id)}, {$set: updates})
.then(result =>{
res.status(200).json(result)
})
.catch(err => {
res.status(500).json({ error: "Could not update the document"})
})
} else {
res.status(500).json({ error: "Not a valid id"})
}
})
את ההפעלה של השאילתא נעשה דרך Postman. נבחר בפעולת ה-Patch ונשלח את השדות אותם רוצים לעדכן דרך ה-Body של הבקשה.