我如何禁用存储在mongodB数据库中的信息以使其不显示在前端,但不应从数据库中删除

时间:2019-01-24 10:49:42

标签: node.js mongodb mongoose mongodb-query

我正在尝试禁用用户,以便某些用户无法登录到我的HRMS门户。我在Angular和Node js中使用mongo dB数据库

因此,我研究了禁用用户的情况,所有结果都显示为删除用户。

var UserInfo = require('../models/userinfo');

exports.deleteUserinfo = function (req, res, next) {
  UserInfo.remove({ _id: req.params.userinfo_id }, function (err, userinfo) {
    res.json('Removed Successfully');
  });
}

预期结果是我想禁用用户而不删除用户。上面的代码删除了用户。

1 个答案:

答案 0 :(得分:0)

因此您可以设计软删除功能。
您只需在user架构中添加一条信息,即可存储用户的状态。

类似的东西:

var UserInfo = new Schema({
  //...
  disabled: { type: boolean, default: false }
})

通过这种方式,您可以通过将disabled属性设置为true来禁用用户,并在登录时检查此值以允许或不允许连接到您的应用程序。

exports.deleteUserinfo = function (req, res, next) {
  UserInfo.findByIdAndUpdate(req.params.userinfo_id, { disabled: true }, function (err, userinfo) {
    res.json('Removed Successfully');
  });
}

如果想让用户登录,则可以执行相反的操作。