次のようなモデルに (異なるファイルに) 2 つのフックがあります。
model.pre('save', function(next) {
if (this.isModified('password'))
this.set('password, hash(this.get('password'))
next()
})
model.pre('save', function() {
if (this.isNew)
this.set('password', generatePassword())
next()
})
私の最初のフックはモジュールからのものです。それは最初でなければならず、変更することはできません。パスワード フィールドが変更されていることを確認し、変更されている場合はハッシュします。2 番目のフックは私が作成したもので、ユーザーの作成時にランダムに生成されたパスワードを設定しています。
私の問題は、最初のフックが 2 番目のフックの前に渡されるため、パスワードをハッシュしないことです。this.save
2 番目のフックを呼び出そうとしましたisModified
が、それを行うと false になります。
hash
最初のフックの関数を 2 番目のファイルにコピーして機能させる必要がありましたが、完全にはほど遠いものです。
マングースでフックを優先順位で実行する方法があるかどうか知りたいですか?ありがとう。