【问题标题】:Mongoose plugin with preselected filter带有预选过滤器的猫鼬插件
【发布时间】:2018-03-19 16:32:53
【问题描述】:

是否可以创建一个在每个查询中添加标准过滤器的猫鼬插件?

我希望每次创建 User.find() 或 User.findOne() 或 User.update() 或 User.delete() 等...时都包含此过滤器 { 已激活:true }

【问题讨论】:

    标签: mongoose mongoose-plugins


    【解决方案1】:

    我们团队的做法是我们有一个UsersManager 类,它实现了findfineOne 等方法,这些方法在添加基本过滤器时调用mongoose 的方法。例如:

    class UsersManager {
        find(filter) {
            return userModel.find()
                .where('activated', true)
                .where(filter)
                .exec();
        }
    }
    

    没有其他班级会直接调用userModel.find

    如果您需要在每个方法上添加相同的过滤器,您应该考虑使用实用方法。

    【讨论】:

      猜你喜欢
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 2020-11-05
      • 2018-02-02
      • 1970-01-01
      相关资源
      最近更新 更多