Node.js NodeJS:数组不保存

Node.js NodeJS:数组不保存,node.js,Node.js,我有一个Budskap(post),它有回复数组,每个回复中都有likes数组。现在我有了这个代码: const budskapFromDB = await Budskap.findById(budskapID); const budskapReply = await budskapFromDB.replies.find(r => r.id === replyID); budskapReply.likes.push({ username: req

我有一个
Budskap
(post),它有
回复
数组,每个回复中都有
likes
数组。现在我有了这个代码:

    const budskapFromDB = await Budskap.findById(budskapID);

    const budskapReply = await budskapFromDB.replies.find(r => r.id === replyID);

    budskapReply.likes.push({
        username: req.user.username,
        createdAt: dayjs().format('YYYY-MM-DD hh:mm:ss')
    });

    budskapFromDB.save();
它通过ID找到相应的
budskap
,然后我找到我想要的回复,并向该回复推送
username
。调用
save()
时,
likes
的数组仍然为空。为什么它不在
likes
数组中保存新元素

更新

好的,将
budskapReply
推送到
budskapFromDB。回复
添加新数据,但重复以前的旧数据

    budskapReply.likes.push({
        username: req.user.username,
        createdAt: dayjs().format('YYYY-MM-DD hh:mm:ss')
    });

    budskapFromDB.replies.push(budskapReply)

好吧,用新的回答替换旧的回答就行了

    budskapReply.likes.push({
        username: req.user.username,
        createdAt: dayjs().format('YYYY-MM-DD hh:mm:ss')
    });

    budskapFromDB.replies.splice(replyIndex, 1, budskapReply); // <--- trick

    budskapFromDB.save();
budskapReply.likes.push({
用户名:req.user.username,
createdAt:dayjs().format('YYYY-MM-DD hh:MM:ss')
});
budskapFromDB.replies.splice(replyIndex,1,budskapReply)//