2

私は、Parties の例から server.js を採用しました。

「ディレクトリ」にすべてのユーザーを公開させる代わりに、次のユーザーのみを公開したい:

  • 現在のユーザーが招待されているパーティーを所有する
  • 現在のユーザーが招待されているパーティーに招待されている
  • 現在のユーザーが所有するパーティーに招待される

ここを参照してください: https://github.com/dimfisch/meteor-dependency/blob/master/parties/server/server.js

問題は、現在のユーザーが新しいユーザーを招待したり (以前はパーティーに関係がなかったという意味で新しい)、新しいユーザーから招待された場合、「ディレクトリ」サブスクリプションが更新されないことです。これらの場合、カーソルは変更されません。

この状況を再現する手順は次のとおりです。

  1. ジョーとケイトの 2 つの異なるクライアントを開きます。
  2. ジョーは新しいプライベート パーティーを作成し、ケイトを招待します
  3. ケイトはその新しいパーティーを見ましたが、Meteor.users でジョーに関する情報を取得しませんでした
  4. ケイトのクライアントにジョーを登場させたい

問題は、それをどのように達成できるかということです。考えられる方法の 1 つは、「ディレクトリ」パブリッシュ機能で「パーティ」カーソルに変更を観察させることです。しかし、これが実際に機能するかどうかはわかりません。もっと簡単な解決策があるかどうか疑問に思っています。

4

1 に答える 1

0

クライアント側でobserveChangesを使用できるようです。コレクションが変更されるたびにparties、サブスクリプションを停止して再開しusersます。これにより、パブリッシュ機能が強制的に再実行されます。

公開機能はparties、現在のユーザーがアクセスできるパーティ情報のみを送信します。また、users公開機能は、同じ関係者にアクセスできるすべてのユーザーに適切なユーザー情報を送信します。

サーバー側では、おそらく同じことを行うことができますが、より多くの作業が必要になります... 通常どおり公開しますが、ユーザーと共有partiesする のみを手動で公開します。usersただし、ケースの削除がどのように機能するかはわかりません。それは苦痛であり、あまり効率的ではない可能性があるようです。

于 2013-03-22T03:51:20.627 に答える