I have a patch request that updates the status of the order. I have organized the statuses in an array in a MongoDB database. This code is working properly but I am wondering if this way of updating is correct. Should I use any operators like $set? I am using Mongoose and Express and NodeJS btw.
Here is the code:
module.exports.updateStatus = async (req, res) => {
const { orderid } = req.params;
const { heading } = req.body;
const order = await Order.findById(orderid);
for (let i = 0; i < order.status.length; i++) {
if (order.status[i].heading === 'Arrived At Location') {
req.flash('error', 'Order is already marked as fulfilled.');
return res.redirect(`/orders/${orderid}`);
}
}
order.status.push({ heading, date: new Date() });
await order.save();
res.redirect(`/orders/${orderid}`);
}
Thanks in advance!