【问题标题】:How can I disable an information that is stored in mongodB database to not show up in the frontend but it shouldn't be deleted from the database如何禁用存储在 mongodB 数据库中的信息不显示在前端但不应该从数据库中删除
【发布时间】:2019-01-25 02:21:22
【问题描述】:

我正在尝试禁用用户,以便某些用户无法登录到我的 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');
  });
}

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

【问题讨论】:

    标签: node.js mongodb mongoose mongodb-query


    【解决方案1】:

    因此您可以设计一个软删除功能。
    您只需在 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');
      });
    }
    

    如果你想重新允许用户登录,你可以执行相反的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 2021-09-17
      • 2019-11-12
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      相关资源
      最近更新 更多