2016-08-09 71 views
0

我保存到數據庫之前我想驗證我的子文檔架構中的一些字段。但是,如果它們無效,而不是失敗,我只是想將它們設置爲undefined。我定義了兩個功能上呼叫實例方法裏面的子文檔mongoose鉤子

ServerSchema.method 

但是當我嘗試訪問它們在鉤,我得到的錯誤

this.conditionallyRemoveFields Is not a function 

然而,這節省了頂級文檔時只發生,而不是單獨保存服務器時。當我保存服務器貸款時,沒有錯誤。這裏是掛鉤

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

任何想法可能會發生什麼?而且,這對於這個問題甚至是正確的方法嗎?提前致謝 。

回答

0

事實證明,解決方案是在定義父架構之前定義方法。做完之後,一切都完美無缺。