【问题标题】:MeteorJS subscription mechanismMeteorJS 订阅机制
【发布时间】:2015-12-03 07:58:51
【问题描述】:

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

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

事实上,Meteor 会在订阅后更新本地数据库,还是只是服务器数据库在 T 时刻的图像,其中 T 是订阅时刻?当我在客户端调用 Collection.find() 时,我可以获得最后的数据吗?

【问题讨论】:

    标签: node.js mongodb meteor real-time


    【解决方案1】:

    快速回答是,只要您的订阅仍然有效,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()),这些查询将自动重新执行并更新模板(请参阅Tracker)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-12
      • 1970-01-01
      相关资源
      最近更新 更多