【发布时间】:2018-03-19 16:32:53
【问题描述】:
是否可以创建一个在每个查询中添加标准过滤器的猫鼬插件?
我希望每次创建 User.find() 或 User.findOne() 或 User.update() 或 User.delete() 等...时都包含此过滤器 { 已激活:true }
【问题讨论】:
是否可以创建一个在每个查询中添加标准过滤器的猫鼬插件?
我希望每次创建 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。
如果您需要在每个方法上添加相同的过滤器,您应该考虑使用实用方法。
【讨论】: