从铁路由器中收集单个数据

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

标签: node.js mongodb meteor

当我把这段代码放在JS的中间时,它可以工作:

  var imageVar = sites.findOne({name: 'juego'}).createdBy;
  console.log(imageVar);

它返回创建者的Id,这就是我想要的。但是,当我把它放入铁路由器时,我收到Uncaught TypeError: Cannot read property 'createdBy' of undefined错误

我说的是:

    var imageVar = sites.findOne({name: 'juego'}).createdBy;
    return {
    im: Imagess.findOne({'metadata.createdBy':imageVar}),
    }

代码有什么问题?

1 个答案:

答案 0 :(得分:1)

代码没有任何问题,就像你说它在现场发生这种情况一样,因为你试图在集合没有准备好时加载数据,试试

    waitOn:function(){
       return Meteor.subscribe('Example')
   }

为了证明这是一个简单的console.log没有createdBy并使用.fetch()它应该返回

   console.log(Imagess.find().fetch())
   output []// empty array

注意为了让waitOn功能正常工作,您需要使用loadingTemplate

中的Router.configure