在Sub文件mongoose hook中调用实例方法

时间:2016-08-09 22:09:37

标签: node.js mongodb mongoose

我的Subdocument架构中有一些字段要在保存到数据库之前验证。但是,如果它们无效,而不是失败,我只想将它们设置为undefined。我在

上定义了两个函数
ServerSchema.method

但是当我尝试在钩子中访问它们时,我收到错误

this.conditionallyRemoveFields Is not a function 

但是,这仅在保存顶级文档时发生,而在单独保存服务器时不会发生。当我为服务器保存贷款时,没有错误。这是钩子

ServerSchema.pre('save', function(next) {
   this.conditionallyRemoveField(this.shouldRemoveField, ["Apple","orange"]);
   next();
});

知道可能会发生什么吗?此外,这是否是解决此问题的正确方法?提前致谢 。

1 个答案:

答案 0 :(得分:0)

事实证明,解决方案是在定义父模式之前定义方法。在这之后,一切都运作良好。