Всем добрый день!
Пытаюсь сохранить (с изменением) объект коллекции. Почему-то объект остается в предыдущем виде. Похожий код в другой функции работает, метод .save срабатывает внутри findOne.
Сперва думала про асинхронность, но прямо перед сохранением, в строке console.log(result.orderReplies); - вывод абсолютно верный, нужный, с изменениями. Сохранение выдает "Успех".
Понимаю, что где-то туплю, но не могу понять, где, перепроверила все уже не раз.
Полагагаю, что к коду в целом будет немало замечаний, с радостью выслушаю и их.
Большое спасибо!
function send_message(value, req, res){
let messagereply = req.body.reply;
let newmessage = {messageUser: value, messageText: req.body.messageText, messageDate: new Date()};
MODELS.OrderModel.findOne({orderID: req.body.orderID}, function(error, result){
if (error) {
res.send("Ошибка базы данных. Попробуйте снова или обратитесь к Администрации")
}
result.orderReplies.forEach((item, index, array) => {
if (item.replyUser == messagereply) {
let b = item.replyMessages;
b.push(newmessage);
item.replyMessages = b;
console.log(item)
}
})
console.log(result.orderReplies);
result.save(function(err) {
err ? console.log(err) : console.log("Успех")
});
res.redirect("/my_orders")
})
};