2017-08-25 7 views
0

私は、コレクションの利用可能性と、別の場所で使用するとまったく何が起こるかについて、ちょっと混乱します。私はにコレクションを持っています。それを私のMeteor.methodsで使用するとうまくいきます。テンプレートファイル/imports/ui/pages/new_club.jsにインポートして何かを挿入すると、ローカルキャッシュのみが更新されますか?ローカルコレクションは反応しますか?つまり、ヘルパーが再実行されますか?流星のクライアント/サーバー側のコレクションの振る舞い

答えて

2

メテオコレクションには、0-N のドキュメントが含まれています。 コレクションは、管理またはアンマネージドとすることができます。

  • は、サーバー上のMongoDBを経由して保持されます:

    コレクションを管理していました。クライアントまたはサーバーのいずれかが停止しても存続します。

  • それはどちらかautopublishパッケージを介して、または一つ以上の出版
  • サーバが自動的に読み書きしているへのアクセスをすべてのドキュメントを介してクライアントにをを公開されていない限りだけサーバー上に存在しますコレクション内では、特定のクライアントが利用できるドキュメントのサブセット(ドキュメントとキーの両方)を制限するために、出版物を使用して出版物を使用することができます。
  • サーバ上のコレクションへの変更は、WebSocket上で通常実行されるMeteorのDDPプロトコルを介して影響を受けるクライアントに自動的かつ非同期に伝播されます。
  • クライアントからのコレクションが変更された場合、クライアントのビューは即座に更新され(Meteorの「遅延補正」の一部である「楽観的な更新」と呼ばれます)、サーバーは同じ変更を試みます。サーバからの変更が、影響を受けるクライアントに非同期的に再伝播されるということで、サーバのバージョンは最終的に「勝利」します。

管理されていないコレクション:

  • は、クライアント間で共有されていないクライアントからのみからに読み書きすることができ
  • クライアント上に存在する

サーバー側では、Meteorは完全なMongoDB APIにアクセスできます。クライアント側では、Meteorは制限付きAPIを提供する「minimongo」を実装しています。 Minimongoは特にmongodbの集約フレームワークとgeo-queriesが欠けています。

最後に、あなたの特定の質問に答える:はい、コレクションは、サーバによって、あなたがにしているクライアント上の任意の場所に加えられた変更に反応、いずれかである、または他の誰かのクライアント上で開始

関連する問題