在mongoose预查找中间件上添加条件

我正在使用mongoose删除插件。

我想构build一个简单的mongoose中间件,所以我添加{deleted:false}到该架构上的每个查询查询。

 var mongoose = require('mongoose'), mongooseDelete = require('mongoose-delete'), Schema = mongoose.Schema; var MySchema = new Schema({ name: {type: String, required: true} }); MySchema.plugin(mongooseDelete, {deletedAt: true, deletedBy: true}); MySchema.pre('find', function (next){ // I want to add {deleted: false} to the queries conditions }); 

我应该如何实现预查找中间件?

在预查找中间件中, thisQuery对象,因此您可以使用以下命令将{deleted: false}添加到查询中:

 MySchema.pre('find', function() { this.where({deleted: false}); });