2016-08-09 11 views
0

私のサブ文書スキーマには、データベースに保存する前に検証するいくつかのフィールドがあります。しかし、それらが有効でない場合、失敗するのではなく、単にそれらを未定義に設定する必要があります。私は呼び出しインスタンスのメソッド内のサブ文書mongooseフック

ServerSchema.method 

上の2つの機能を定義しかし、私はフックでそれらにアクセスしようとすると、私は

this.conditionallyRemoveFields Is not a function 

しかし、エラーを取得し、これが唯一のトップレベルの文書を保存する際に起こる、とではありませんサーバーを単独で保存するときサーバーをローンに保存すると、エラーは発生しません。ここにフックがあります

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

何が起こっているのでしょうか?また、これはこの問題の正しいアプローチですか?前もって感謝します 。

答えて

0

親のスキーマを定義する前に、メソッドを定義することが解決策であることが判明しました。それをした後、すべてが完璧に機能しました。

関連する問題