我的字段数很多,比如archived
。我想在所有搜索/更新操作中跳过将此字段设置为true
的所有模型,但不想在每个查询中显式指定它,但是在显式传递时可以覆盖它。有可能这样做吗?
答案 0 :(得分:1)
您应该查看猫鼬中可用的Query Middlewares。
在查询中间件中,猫鼬不一定具有对 正在更新的文档,所以这是指查询对象,而不是 比正在更新的文件
schema.pre('find', function() {
console.log(this instanceof mongoose.Query); // true
this.where('archived', false);
});