我想知道在这种情况下如何分配日期对象,每当用户更改其详细信息时,我都需要更新lastUpdate。
我也尝试过Object.assign(user.lastUpdated, new Date());
exports.edit = (req, res, next) => {
const userid = req.params.id;
const errorHandler = (error) => {
next(error);
};
const updateUser = (user) => {
Object.assign(user, req.body);
Object.assign(user.lastUpdated, new Date());// not working
user.lastUpdated= new Date(); //not able to save this in database
user.save().then(() => {
res.json({
uid: user.id,
username: user.username,
displayName: user.displayName,
password:user.password,
lastUpdated: user.lastUpdated// result should be last updated Date.
});
}).catch(errorHandler);
};
};
答案 0 :(得分:2)
Object.assign()方法用于将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)。
但是在您的代码Object.assign(user.lastUpdated, new Date());
中,您要尝试将两个值连接在一起。这样就行不通了。
尝试这样:Object.assign( user, { lastUpdated : new Date() } );