問題タブ [feathers-hook]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
feathersjs - FeathersJs - ユーザー サービスの Find メソッドからのサニタイズ応答が認証サービスを壊した
「find」メソッドからの応答をサニタイズするアフター フックをユーザー サービスに作成したところ、認証サービスが壊れてしまいました。
after フックsanitizeResponseは、クエリが電子メールまたは cpf に関するものかどうかを確認し、そうである場合は、いくつかのフィールドを削除していくつかの新しいフィールドを追加する必要があります。
これがusers.hooks.jsです
このフックを作成する前は、認証は正常に機能していましたが、その後、「認証されていません」という応答が送信されるようになりました。
私は、feathersjs-cli によって生成された user.class.js および authentication.js ファイルで何も変更していません。
私は何が間違っているのか知りたいですか?応答をサニタイズするより良い方法はありますか?
助けてくれてありがとう!
feathersjs - 巨大なデータをmongoに挿入すると、メモリがOOMに増加します
@feathers/mongodb を使用して、csv ファイルから mongo に 500k のエントリをロードしています。
フックでは、すべての行を収集し、それらを少し操作して、配列全体を挿入します
let data_to_insert = [];
モンゴへ。それは完全に機能し、データは約 10 秒でデータベースに書き込まれます。
しかし、pm2 で、ヒープが最大 8GB まで大きくなり、プロセスがメモリ不足になることに気付きました。後からどうしてこうなったのか気になります。これは、トリガーされる 500k create イベントに関連していますか?
chrome devtools を使用したスナップショット:
特にストリングスは巨大です。それらを確認すると、ほとんどのメモリを消費する「イベント文字列」がいくつか表示されます。
フックを再度呼び出そうとすると、スタックします。私 (または PM2) は、プロセスを再起動して、再度実行する必要があります。
これがイベントに関連している場合、この種の挿入に対してこれを無効にする方法は? そうでない場合、このヒープの肥大化を回避するために、このコードで何を最適化する必要がありますか?
ご協力いただきありがとうございます。