2015-11-16 114 views
0

我是新來的流星,我只是想通過的console.log檢查我收藏的內容當我刷新頁面時,我的收藏會發生什麼?

所以我用這個代碼:

var TestCollection = new Mongo.Collection('testcollection'); 
if (Meteor.isClient) { 
    console.log("Client "); 
    console.log(TestCollection.find().fetch()); 

} 

if (Meteor.isServer) { 
    console.log("Server"); 
    console.log(TestCollection.find().count()); 
    Meteor.startup(function() { 
    if(TestCollection.find().count() ===0){ 
     TestCollection.insert({test: 'testvalue'}); 
    } 
    }); 
} 

當服務器開始

console.log(TestCollection.find().fetch()); 

給我我收藏的內容,但是當我點擊刷新按鈕時,收藏似乎是空的。那麼當我點擊刷新按鈕時,我的收藏會發生什麼?

回答

0

假設您正在使用自動發佈軟件包,這只是一個計時問題,並且客戶端尚未收到數據。

試着改變你的客戶端代碼如下:

if (Meteor.isClient) { 
    console.log('On startup'); 
    console.log(TestCollection.find().fetch()); 

    Meteor.setTimeout(function() { 
    console.log('After 50ms'); 
    console.log(TestCollection.find().fetch()); 
    }, 50); 
} 
+0

謝謝,完美的作品! – Edelstoff

0

嘗試刪除「VAR」關鍵字時,您定義的集合。

我認爲使用「var」關鍵字使其成爲本地作用域變量,使您的服務器&客戶端集合分開。

相關問題