1

の概念がわかりませんMeteor.subscribe。サーバーからレコードを受け取り、それを同じ名前のコレクションに添付することになっていますよね?

[subscribe] は、一致するコレクション名を持つクライアントで Meteor.Collection を宣言するまで、受信属性をキューに入れます。

では、なぜドキュメントの例で異なる名前が使用されているのでしょうか? allplayersplayersの関係は?

Meteor.subscribe("allplayers");
...
// client queues incoming players records until ...
...
Players = new Meteor.Collection("players");
4

1 に答える 1

3

次の 2 つの名前があります。

  • コレクションの名前 ('players'この場合)。
  • サブスクリプションの名前 ('allplayers'この場合)。

サブスクリプションは、クライアント側のコレクションにレコードを取得する方法です。this.set()レコードが入るこのコレクションの名前は、関連するMeteor.publish関数での使用によって (サーバー側で) 決定されますが、通常はサーバー側で照会されるコレクションの名前です [1]。

多くのサブスクリプションが同じコレクションにデータをデポジットできるため、サブスクリプションの名前がコレクションの名前に対応している必要はありません。実際、そのコレクションに対してかなり単純な単一のサブスクリプションを行っている場合は、それらを同じにすることをお勧めします。

return players.find();[1] でカーソル (例: )を返すMeteor.publishと、サーバー側のコレクションから推測されるwhereへの呼び出しが自動的に接続されます。this.set(name)nameplayers

于 2012-10-10T23:55:00.877 に答える