我需要帮助。我有一个特定的情况,在find查询发生之前,我需要填充Mongoose集合。
原因是,我需要将用户输入的过滤参数应用于其他集合的population ref。
问题:我正在尝试使用预挂钩,以便在find查询在"SampleSchema"上启动之前填充所需的路径。如果我试图在没有预先填充模式的情况下将过滤器应用于SampleSchema,则find无法正确地过滤结果,并且会出错。
ERROR: { CastError: Cast to ObjectId failed for value "Foo" at path "program" for model "Sample" ...}
因此,我们无法正确地让预查找中间件挂钩正常工作。
SampleSchema.pre('find', function() {
console.log('HELLO I FIRED FIND PRE HOOK');
this.populate('program history type status')
}
我该怎么做?
谢谢
猫鼬中没有预先找到的钩子。你只得到validate
,save
,remove
。您可以在以下网站上阅读更多信息:https://mongoosejs.com/docs/middleware.html