2017-08-25 146 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的聚合框架以及地理查詢。

最後,回答您的具體問題:是的,集合是反應在任何地方所做的更改,無論你在客戶端上,服務器,或別人的客戶端上發起