2013-03-18 56 views
0

使用最新的Meteor 0.5.9版本,我一直在試驗appcache軟件包,並且非常喜歡它的功能。Can Meteor的Appcache也可以存儲數據庫數據嗎?

我用meteor create --example leaderboard然後meteor add appcache來測試這個行爲,並且甚至在服務器根本沒有運行時加載頁面!超酷!

但是,數據庫似乎沒有被緩存?當服務器沒有運行

Players.find().fetch() 

回報

[] 

這對我來說相當的攪局者,因爲我正在做筆記的應用程序,其中的音符需要可脫機使用爲好。我是否錯過了某些東西,或者在離線時有沒有其他方法獲取數據庫數據?

回答

1

appcache包不會緩存您的數據。請參閱the docs

appcache包將Meteor應用程序(客戶端Javascript,HTML,CSS和圖像)的靜態部分存儲在瀏覽器的應用程序緩存中。

[...]

(不過請注意,該應用程序緩存包本身並不使數據脫機使用:在應用程序中加載下線,流星系列將出現在客戶端空,直到互聯網變得可用並且瀏覽器能夠建立一個livedata連接)。

此時,appcache包純粹意味着通過緩存靜態資源來提高應用的加載速度。請參閱meteor wiki

appcache包僅用於緩存靜態資源。作爲一個「應用程序」緩存,它緩存應用程序所需的資源,包括公共/目錄中發佈的HTML,CSS,Javascript和文件。

2

看地面:DB包裝用於此用途。這個包使訂閱集合的客戶端緩存成爲可能。

https://atmospherejs.com/ground/db

將由流星訂閱獲取填充集合的實例(訂閱調用需要分開)互不相關的

localCollection = new Ground.Collection('mongoName'); 

實例(所以你必須自己來填充它)

disconnectedCollection = new Ground.Collection('localName', {connection:null}); 
相關問題