我需要帮助。我有一个特定的情况,在查找查询发生之前,需要填充我的Mongoose集合。
原因是,我需要将用户输入的过滤后的参数与其他集合中的总体引用相对应。
问题: 我正在尝试使用pre挂钩,以便可以在“ SampleSchema”上的find查询激发之前填充所需的路径。如果我尝试在不预先填充架构的情况下将过滤器应用于SampleSchema,则查找结果将无法正确过滤结果,并且会出错。
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')
}
我该如何处理?
谢谢
答案 0 :(得分:0)
猫鼬没有预找钩子。您只会得到validate
,save
,remove
。您可以阅读以下内容的更多信息:https://mongoosejs.com/docs/middleware.html