0

これは私の理解不足かもしれないので、答えるのが非常に簡単な質問かもしれませんが、クエリを 2 回 (サーバーで 1 回、クライアントで 1 回) 実行する必要がある場合は、すべてのコレクション データを公開しないでください。次に、クライアントで 1 つのクエリを実行するだけですか?

もちろん、users コレクションに対してこれを行うつもりはありませんが、ブログの Posts コレクションがある場合、これは有益ではないでしょうか?

すべての投稿データを公開してからサブスクライブし、クライアントで必要なクエリを実行して、必要なデータを取得します。

4

1 に答える 1

4

meteor はデフォルトで追加されるため、すべてを公開することは「開発」環境には適してautopublishいますが、これは「本番」環境ではいくつかの誤りがあります。この2点が重要だと思います

  1. セキュリティ : アイデアは、必要なだけのデータのみをクライアントに提供することです。クライアントを信頼することはできませんし、クライアントがデータを何に使用するかもわかりません。単純なブログ投稿のユース ケースでは、これは深刻なリスクではないかもしれませんが、e コマース アプリケーションでは重大なリスクになる可能性があります。最後に、ハッカーがデータを使用し、コードのバグを利用して厄介なことを行うことは避けてください。
  2. データ オーバーヘッド: サブスクリプションの場合、通常waitOnは が使用されます。したがって、クライアントがすべてのデータを利用できるようになるまで、テンプレートはレンダリングされません。非常に大量のデータがある場合、レンダリングにかなりの時間がかかります。したがって、今回も最適化するために、データを「必要なものだけ」の段階に保つことをお勧めします。
于 2016-09-07T07:57:44.793 に答える