【发布时间】:2018-05-26 05:39:22
【问题描述】:
我有一个用户集合。
- 名字。
- 姓氏。
- deactivatedAt.
- deactivatedBy。
- 状态(0:停用,1:启用)。
当用户处于活动状态时,deactivatedAt 和 deactivatedBy 应该从集合中移除。
当用户停用时,集合中应该可以使用 deactivatedAt 和 deactivatedBy。
我执行以下操作。
1-> 当我停用用户时,我设置了 deactivatedAt 和 deactivatedBy。
2-> 当我激活用户时,deactivatedAt 和 deactivatedBy 应该从集合中删除。
我的行动。
module.exports.deactive = function(req, res) {
let userId = req.params.userId;
let params = {
status: 0,
deactivatedAt: new Date(),
deactivatedBy: {
userId: req.payload._id,
firstName: req.payload.firstName,
lastName: req.payload.lastName
}
};
User.findByIdAndUpdate(userId, params, {new: true})
.then(result => {
sendJsonResponse(res, 200, {message: 'User successfully deactivated'});
})
.catch(err => {
sendJsonResponse(res, 500, {message: 'Error occurred'});
})
};
module.exports.active = function(req, res) {
let userId = req.params.userId;
let params = {
status: 1
};
//------------ in here in need to remove the deactivatedAt and deactivated By
User.findByIdAndUpdate(userId, params)
.then(result => {
sendJsonResponse(res, 200, {message: 'User successfully activated'});
})
.catch(err => {
sendJsonResponse(res, 500, {message: 'Error occurred'});
})
};
提前致谢。
【问题讨论】:
-
您可以使用 $unset of mongo 来处理这种情况,请查看here的更多信息