我不理解Meteor.subscribe
的概念。
它应该从服务器接收记录,并将其附加到具有相同名称的集合,对吗?
[subscribe]将对传入属性进行排队,直到您在客户端上使用匹配的集合名称声明Meteor.Collection。
那么,为什么docs中的示例使用不同的名称? allplayers 和玩家之间的关系是什么?
Meteor.subscribe("allplayers");
...
// client queues incoming players records until ...
...
Players = new Meteor.Collection("players");
答案 0 :(得分:3)
有两个名字:
'players'
)。'allplayers'
)。订阅是一种将记录导入客户端集合的方法。记录所涉及的此集合的名称(在服务器端)通过在相关this.set()
函数中使用Meteor.publish
来确定,但通常它只是名称在服务器端查询的集合[1]。
许多订阅可以将数据存储到同一个集合中,因此订阅的名称当然不需要与集合的名称相对应。事实上,如果您对该集合进行相当简单的单一订阅,那么将它们保持相同可能是个好主意。
[1]如果您在return players.find();
中返回光标(例如Meteor.publish
),会自动为您拨打this.set(name)
的电话,其中name
1}}是从服务器端players
集合推断的。