MeteorJS订阅机制

我有一个关于meteor订阅/发布的问题。

当你在meteor订阅一个发布,客户端数据库是更新的还是只在服务器数据库的一个副本?

事实上,Meteor会在订阅之后更新本地数据库吗,还是仅仅是T时刻的订阅时刻的服务器数据库的映像? 我可以在客户端调用Collection.find()时获取最后一个数据吗?

快速的答案是,只要您的订阅仍然活跃,Meteor将按照您在publish()方法中定义的规则使客户端与服务器保持同步。 它不是时间T的拷贝,它在时间T开始,并且随着服务器集合的改变而被修改。

例如:

/server/publish/people.js:

Meteor.publish('people', function() { return People.find(); } 

/client/app.js:

 Meteor.subscribe('people'); 

publish()的'People.find()'将被监视,查询的任何更改都将被复制到客户端。 如果您在客户端上有反应查询(例如模板助手中的People.find()),那么将自动重新执行这些查询并更新模板(请参阅跟踪器 )。

很好的参考你: https : //www.discovermeteor.com/blog/understanding-meteor-publications-and-subscriptions/