更改猫鼬的默认“查找”行为

时间:2018-08-22 01:50:12

标签: mongoose

我的字段数很多,比如archived。我想在所有搜索/更新操作中跳过将此字段设置为true的所有模型,但不想在每个查询中显式指定它,但是在显式传递时可以覆盖它。有可能这样做吗?

1 个答案:

答案 0 :(得分:1)

您应该查看猫鼬中可用的Query Middlewares

  

在查询中间件中,猫鼬不一定具有对   正在更新的文档,所以这是指查询对象,而不是   比正在更新的文件

schema.pre('find', function() {
  console.log(this instanceof mongoose.Query); // true
  this.where('archived', false);
});