最新バージョン3.8.xと4.0の間のどこかで、投稿init フックは変更されましたが、文書化されていません。変更前のthis 現在のドキュメントを参照していましたが、現在はthis フック呼び出しをトリガーしたイベントエミッターです。現在のドキュメントにアクセスする新しい方法は、pre saveと同じように、フック関数にパラメータを追加することです。 およびremove フック。
schema.post('init', function(doc) {
doc._original = doc.toObject();
});
残念ながら、この変更以降、ドキュメントに追加されたスキーマ以外のプロパティは、initの投稿の間に失われたように見えます。 および事前save フックなので、今これを修正する方法はありません。
問題を開きました(#2952 )先週の金曜日にGithubで。現在387の未解決の問題があるため、これがどれだけ早く解決されるかはわかりません。何か聞こえたら更新を投稿します。