This is my mongodb collection.
I want to push object to array with findOneAndUpdate().
This is my nodejs code.
url = req.params.posturl filter = { url: url } update = { comments: (result.like + 1) } // maybe you can try save/get this to/in .json Blog.findOneAndUpdate(filter, update) .then((result) => { res.json({ status: 1 }) }) .catch((error) => { console.log(error); })
How can i do this?
Advertisement
Answer
You can use $push
operator for updating an array. Actually you have a few ways too for updating a document like $set
operator or find one and change the document then save new document this will be update your document.
TLDR code here;
const url = req.params.posturl const newComment = req.body.comment const filter = { url } const willBePush = { comments: newComment } Blog.findOneAndUpdate(filter, { $push: willBePush }) .then((result) => { /** Do whatever with response if you want to see new document you can pass { new: true } as option for findOneAndUpdate method*/ console.log(result) }) .catch((error) => { console.log(error); })
References: