无法从客户端访问已发布的文档

时间:2015-04-04 06:01:09

标签: meteor

这是我发布文档的服务器端代码:

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");

如果我将console.log(Messages.find({}).fetch());放在Meteor.isClient的范围内,我会在浏览器控制台中看到一个空数组。

如果在服务器端,我输入了console.log(messageData().fetch())我看到了我的数据库中的两个文件。

当我添加蒙古包'时,有趣的是,并查看它识别的订阅,这就是我所看到的:

enter image description here

在我看来,好像这两个订阅在某种程度上被合并为一个。

1 个答案:

答案 0 :(得分:2)

尝试使用不同的Subscribe

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