2015-04-04 72 views
1

這裏的服務器端代碼,我發佈文件:公佈的文件無法從客戶端訪問

function messageData() { 
    var fiveHoursAgo = unixTimestampSeconds() - 5 * 60 * 60; 
    return Messages.find({unixTimestamp: {$gte: fiveHoursAgo}}); 
} 

function userData() { 
    return Meteor.users.find({}, {fields: {'status.online': 1, username: 1}}); 
} 

if (Meteor.isServer) { 
    Meteor.publish("userData", userData); 
    Meteor.publish("messageData", messageData); 
    Meteor.startup(function() { 
    // code to run on server at startup 
    }); 

的訂閱撥打:

Meteor.subscribe("userData", "messageData"); 

如果我在Meteor.isClient我的範圍內把console.log(Messages.find({}).fetch());查看我的瀏覽器控制檯中的空數組。

如果在服務器端,我把一個console.log(messageData().fetch())我看到我在我的數據庫中的兩個文件。

什麼也是有趣的是,當我添加了包「蒙古人」,看看它承認訂閱,這是我所看到的:

enter image description here

在我看來,就好像兩個的訂閱不知何故被陷入其中。

回答

2

嘗試不同的Subscribe

if(Meteor.isClient){ 
    Meteor.subscribe("userData"); 
    Meteor.subscribe("messageData"); 
} 
+0

這太奇怪了,因爲我可以發誓這給了我過去的奇怪結果......也許我當時正在使用流星的老版本。 – 2015-04-04 06:18:03