2015-11-30 62 views
0

在流星中,我如何获取所有记录而无需登录,仅在登录时才有效。我只想显示以下记录:流星查找()无需登录

Collection.find().fetch() 

并显示所有记录,如仪表板,但没有登录。任何想法?。

+1

什么是您发布功能样子该集合? –

回答

0

在Meteor中,如果删除了诸如publish之类的开发包,则默认情况下不会发布收集数据。

要发布的东西,你必须在服务器上的代码:

Meteor.publish('publication', function() { 

    return Collection.find({ }); 
}); 

然后您订阅您Collection使用Meteor.subscribe('publication')和行为的专利文献。

如果发布中的数据仅提供给已登录的用户,则可以随时创建一个新的发布,如上面的发布返回所有内容。然后您需要订阅该出版物,而不是您正在使用的当前出版物。

在客户端上,您需要使用var subscription = Meteor.subscribe("publication");来订阅出版物。您可以使用Collection.find({})在订阅准备就绪后访问该集合的数据。

+0

我试过你的例子,但不行,我创建了一个发布函数,然后把这个函数放到suscribe中,但是当我从“isClient”调用Collection.find()时,什么也没有发生。 – pokaxperia

+0

您是否订阅该刊物? – Ivan

+0

是的,但仍然不起作用 – pokaxperia

0

结构发布colllections 不用登入

Meteor.publish('publication', function() { 
    return Collection.find({ }); 
}); 

如果想客户端必须登录使用:

Meteor.publish('publication', function() { 
    if(this.userId){ 
     return Collection.find({ }); 
    } 
}); 

感谢