我在 node js 中有一個函式,它會在 mongodb 集合中找到我想在傳遞給 res.json 之前修改特定鍵的值的所有訊息。
收藏

我想在將其發送到前端之前將其修改為 true。
我試過的解決方案
export const getMessage = async (req, res) => {
try {
const message = await messageModel
.find({
conversationId: req.params.messageId,
})
.populate('senderId');
const newMessages = message.map((mess) => {
return { ...mess, seen: true };
});
console.log(newMessages);
res.status(200).json(newMessages);
} catch (error) {
res.status(500).json({ msg: error.message });
}
};
uj5u.com熱心網友回復:
Mongoose 物件幾乎是不可變的,你不能真正做到這一點。
解決方案是使用.lean(),這將使 Mongoose 回傳簡單的 JSON 資料,而不是 Mongoose 物件陣列。
獎勵:它更快。
const message = await messageModel
.find({
conversationId: req.params.messageId,
})
.populate('senderId')
.lean();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/322555.html
標籤:javascript 节点.js 表达
上一篇:如何比較輸入文本中的兩個值?
