問題タブ [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.

0 投票する
1 に答える
396 参照

feathersjs - FeathersJs - ユーザー サービスの Find メソッドからのサニタイズ応答が認証サービスを壊した

「find」メソッドからの応答をサニタイズするアフター フックをユーザー サービスに作成したところ、認証サービスが壊れてしまいました。

after フックsanitizeResponseは、クエリが電子メールまたは cpf に関するものかどうかを確認し、そうである場合は、いくつかのフィールドを削除していくつかの新しいフィールドを追加する必要があります。

これがusers.hooks.jsです

このフックを作成する前は、認証は正常に機能していましたが、その後、「認証されていません」という応答が送信されるようになりました。

私は、feathersjs-cli によって生成された user.class.js および authentication.js ファイルで何も変更していません。

私は何が間違っているのか知りたいですか?応答をサニタイズするより良い方法はありますか?

助けてくれてありがとう!

0 投票する
1 に答える
66 参照

feathersjs - 巨大なデータをmongoに挿入すると、メモリがOOMに増加します

@feathers/mongodb を使用して、csv ファイルから mongo に 500k のエントリをロードしています。

フックでは、すべての行を収集し、それらを少し操作して、配列全体を挿入します

let data_to_insert = [];

モンゴへ。それは完全に機能し、データは約 10 秒でデータベースに書き込まれます。

しかし、pm2 で、ヒープが最大 8GB まで大きくなり、プロセスがメモリ不足になることに気付きました。後からどうしてこうなったのか気になります。これは、トリガーされる 500k create イベントに関連していますか?

chrome devtools を使用したスナップショット: ここに画像の説明を入力

特にストリングスは巨大です。それらを確認すると、ほとんどのメモリを消費する「イベント文字列」がいくつか表示されます。 ここに画像の説明を入力

フックを再度呼び出そうとすると、スタックします。私 (または PM2) は、プロセスを再起動して、再度実行する必要があります。

これがイベントに関連している場合、この種の挿入に対してこれを無効にする方法は? そうでない場合、このヒープの肥大化を回避するために、このコードで何を最適化する必要がありますか?

ご協力いただきありがとうございます。

0 投票する
1 に答える
135 参照

javascript - フックの前にフェザーズ コモン フックの populate を使用する

フックの前のように populate/fastjoin を使用することは可能ですか?

ここに画像の説明を入力

正確な必要性: 2 つのサービス ユーザーとユーザー ステータスがあります。

ステータスが「招待済み」のすべてのユーザーを取得したい:

これを解決できる場合、populate/fastjoin をどのようにセットアップする必要がありますか?

(私はfeathers-sequelizeを使用し、そのインクルードメカニズムについて知っています。これを行うことができます。)