I have the following code:
connection((db) => {
db.collection('orders')
.updateOne(
{ "_id": req.body._id}, // Filter
{"name": req.body.name} // Update
)
.then((obj) => {
console.log('Updated - ' + obj);
res.redirect('orders')
})
.catch((err) => {
console.log('Error: ' + err);
})
})
I want to change the name in the order but it doesn’t update it.
The result in the console is
Updated - {"n":0,"nModified":0,"ok":1}
I tried to read the documentation but it’s horrific
EDIT: {$set: {"name": req.body.name}},
didn’t work as well
EDIT 2: The passed ID matches the _id in the database. Could it be a problem that I’m querying for plain text ID while in the database it is referred to as “ObjectId(‘5a42ja…’)”
Kenil Vasani
Maybe you should use “$set” in your update query like this :
More information in documentation
EDIT
If it doesn’t work, this is probably because there is no match with your filter.
Maybe you should try to match with an ObjectId like this :
Hope it helps.