访问Mongoose.Query字段

时间:2017-01-12 10:10:37

标签: mongoose hook

我正在处理一个Mongoose钩子(预查找),如果查询本身包含一些特定的字段,它应该编辑原始查询。

所以基本上代码与此类似:

MySchema.pre('find', function (next) {
    if (this.foo) {
        this.bar = 'something'
    }
}

即使测试this.foo返回true,我也无法读取此属性,this instanceof Mongoose.Query始终未定义。

这个实例只是只写还是有一种方法可以读取传递给MyModel.find(query)的对象?

由于

1 个答案:

答案 0 :(得分:1)

像这样解决:

MySchema.pre('find', function() {

    const q = this.getQuery();
    if (q.foo) {
        this.where('bar', 'something');
    }
}