是否可以创建一个mongoose插件,在每个查询中它都会添加标准过滤器?
我希望每次创建一个User.find()或User.findOne()或User.update()或User.delete()等...每次包含此过滤器{activated:true}
答案 0 :(得分:0)
我们在团队中执行此操作的方式是,我们有UsersManager
类来实现find
或fineOne
等方法,这些方法会调用mongoose
'添加基础过滤器时的方法。例如:
class UsersManager {
find(filter) {
return userModel.find()
.where('activated', true)
.where(filter)
.exec();
}
}
其他任何课程都不会直接致电userModel.find
。
如果需要在每个方法上添加相同的过滤器,则应考虑使用实用程序方法。