我想我错过了一些简单的东西。我已将我的Meteor应用程序部署到两个站点:
http://servyc.meteor.com
http://servyc-9594.onmodulus.net/
在这两种情况下,数据库似乎不向客户端发送数据。例如,如果您注册并在网站上发布报价或请求,它将不会出现在主页底部,这是它应该看到的。我无法检查这些数据是否是为servyc.meteor.com发布的。但是我可以检查servyc-9594.onmodulus.net,并且数据确实被输入到数据库中(托管广告mongohq)。
奇怪的是,当我在Mac上运行它时,这个站点运行得很好:数据会被发布并发送到客户端。我部署时是否需要做一些特别的事情?也许在没有特殊设置的情况下部署Meteor.subscribe()命令是无效的?我发现奇怪的是,对于模数主机,数据进入数据库,但没有被发送出去。
干杯,
发布于 2013-10-28 17:24:01
从表面上看,您还没有处理客户端数据不可用的情况。
我试着登录,显示您的订阅/发布功能很好。如果您检查您的javascript控制台,您会看到一些关于某些东西是如何定义的错误。
原因是当meteor加载到浏览器上时,所有集合都是空的。在显示数据时,需要考虑到这一点,以便允许数据为空,而不是读取内容。
var myDocument = Docs.findOne();
return myDocument.date;如果您最初这样做,myDocument不存在,它仍然是空的。几秒钟后,当数据最终从客户端准备就绪时,它就可用了。您只需要在不引起错误的情况下处理这种情况。
这种情况发生在远程站点上,而不是本地mac上,因为这些站点有额外的延迟,因此在本地mac上可能不会发生这种情况,因为数据已经非常快速可用。但是在一个远程站点上,它需要一些额外的时间,因为它离你的计算机更远。
https://stackoverflow.com/questions/19638086
复制相似问题