我的Subdocument架构中有一些字段要在保存到数据库之前验证。但是,如果它们无效,而不是失败,我只想将它们设置为undefined。我在
上定义了两个函数ServerSchema.method
但是当我尝试在钩子中访问它们时,我收到错误
this.conditionallyRemoveFields Is not a function
但是,这仅在保存顶级文档时发生,而在单独保存服务器时不会发生。当我为服务器保存贷款时,没有错误。这是钩子
ServerSchema.pre('save', function(next) {
this.conditionallyRemoveField(this.shouldRemoveField, ["Apple","orange"]);
next();
});
知道可能会发生什么吗?此外,这是否是解决此问题的正确方法?提前致谢 。
答案 0 :(得分:0)
事实证明,解决方案是在定义父模式之前定义方法。在这之后,一切都运作良好。