javascript - 分配要更新的日期对象
问题描述
我想知道如何在这种情况下分配日期对象,每当用户更改他的详细信息时,我都需要更新 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);
};
};
解决方案
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() } );