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)//