无法覆盖JavaScript对象的属性
我有一个格式化message
的date
属性的方法。 用户拥有一组messages
。
user.messages[i].date = formatDate(user.messages[i].date); // logs the correctly formatted date console.log(formatDate(user.messages[i].date)); // logs the unformatted date console.log(user.messages[i].date);
但是,当我这样做下面的代码片段它的作品。
user.messages[i] = { name: user.messages[i].name, body: user.messages[i].body, _id: user.messages[i]._id, date: formatDate(user.messages[i].date) };
在@plalx的评论的帮助下,我在这个线程中find了一个解决scheme:
对Mongoose模型的虚拟属性进行挖掘
这是一个猜测,但你可以添加formatteddate:“”到你的用户模型(或类似),然后尝试:
user.messages[i].formatteddate = formatDate(user.messages[i].date);
所以你不重新configuration它。