2017-08-25 186 views
0

我稍微感到困惑的代收款的可用性,以及什么时候我在不同的地方使用它们会发生什么。我有一个集合在/imports/api/clubs当我使用它在我的Meteor.methods它工作正常。如果我再导入比如说一个模板文件/imports/ui/pages/new_club.js并插入一些内容,它会只更新本地缓存?本地收藏是否有反应,即我的助手是否会重新运行?流星客户端/服务器端的集合行为

回答

2

A流星集合包含0-N 文档。一个集合可以管理非托管

一个管理集合:

  • 通过持续的MongoDB的服务器上。它可以在客户端或服务器停止时生存。
  • 只有服务器上存在,除非它是通过任一自动发布包发布到客户端,或通过一个或多个出版物
  • 服务器自动拥有读写到访问所有文件在集合
  • 发布可用于限制文档的子集(哪些文档和哪些键)可用于任何特定的客户端。
  • 变化到服务器上的一个集合被自动地和异步传播到通过流星的DDP协议受影响的客户端(一个或多个)通常运行在网页套接字。
  • 如果对客户端的集合进行了更改,客户端的视图立即更新(称为“乐观更新”,Meteor的“延迟补偿”的一部分),然后服务器尝试进行相同的更改。服务器版本最终“胜出”,因为来自服务器的更改异步地重新传播回受影响的客户端。

非托管集合:

  • 只存在于客户端
  • 可以从客户端
  • 没有客户端之间共享的写入和读取只

在服务器端,Meteor可以访问完整的MongoDB API。在客户端,Meteor已经实现了“minimongo”,它提供了一个受限制的API。 Minimongo尤其是缺少MongoDB的聚合框架以及地理查询。

最后,回答您的具体问题:是的,集合是反应在任何地方所做的更改,无论你在客户端上,服务器,或别人的客户端上发起