meteor.js - 设置控制器以访问集合

时间:2015-12-05 04:01:03

标签: javascript mongodb meteor meteor-publications meteor-collections

有人可以告诉我,为了能够从给定页面访问集合中的数据,我可能缺少什么吗?我可以访问事件集合但不能访问场地 - 这是代码:

Exception in thread "main" java.lang.StackOverflowError
    at x.x(x.java:21)
Java Result: 1

发布&权限文件对于事件和场所是相同的,控制器被路由到正确的页面,并且可以从具有其他控制器的页面中看到场地集合。

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

您无法访问Venue集合的原因是您没有订阅它。 return this.subscribe('events');函数中waitOn之后的两个语句都是死代码,因为return语句终止了一个函数。因此,您需要返回一个订阅数组:

UserController = AppController.extend({
  waitOn: function() {
    return [Meteor.subscribe('events'), Meteor.subscribe('users'), Meteor.subscribe('venues')];
  },
  data: {
    venues: Venues.find({}),
    events: Events.find({}),
    users: Meteor.users.find()
  }
});

请注意:我注意到你的帮助函数中有两个缺少的分号。我强烈建议修复此问题,因为这可能会导致Meteor应用程序出现意外操作,因为部署过程会缩短。