我正在处理一个Mongoose钩子(预查找),如果查询本身包含一些特定的字段,它应该编辑原始查询。
所以基本上代码与此类似:
MySchema.pre('find', function (next) {
if (this.foo) {
this.bar = 'something'
}
}
即使测试this.foo
返回true,我也无法读取此属性,this instanceof Mongoose.Query
始终未定义。
这个实例只是只写还是有一种方法可以读取传递给MyModel.find(query)
的对象?
由于
答案 0 :(得分:1)
像这样解决:
MySchema.pre('find', function() {
const q = this.getQuery();
if (q.foo) {
this.where('bar', 'something');
}
}