是否可以创建一个猫鼬插件,在每个查询中都会添加一个标准过滤器?
我希望每次制作User.find()或User.findOne()或User.update()或User.delete()等时都包含此过滤器{激活:true }
我们在团队中这样做的方式是,我们有一个UsersManager
类来实现find
或fineOne
等方法,这些方法在添加基本过滤器时调用mongoose
的方法。例如:
class UsersManager {
find(filter) {
return userModel.find()
.where('activated', true)
.where(filter)
.exec();
}
}
没有其他班级会直接调用userModel.find
。
如果需要在每个方法上添加相同的筛选器,则应考虑使用实用工具方法。