查询Meteor集合(在本地主机上工作,在服务器上失败)
Querying Meteor collection (works on the localhost, fails on server)
我刚刚开始Meteor的小项目,有几个月的经验。我建立了一个名为Reactions的集合,并将csv数据导入MongoDB。
现在,当我从localhost(win7)查询它时,我得到了预期的记录集,但一旦我从远程服务器查询它,我就得到了emty集。
由于这似乎是一个订阅时间问题,因为收集的记录约为1万条,我在Iron Router路由中添加了"waitOn"子句,但无济于事。
我到处寻找类似的问题,大多数建议等待,所以我已经没有主意了。
请参阅下面的相关代码,并提前感谢您的任何提示
----------/bboth/collections/Requestion.js----------------反应=新的Mongo.Collection("反应",{idGeneration:"Mongo"});----------/server/publications.js----------------Meteor.publish("操作",function(){return Reactions.find();});----------/client/views/subscriptions.js----------------Meteor.subscribe("操作",function(){return Reactions.find();});----------/bboth/lib/router.js----------------this.route("行动"{其中:"服务器",waitOn:function(){return Meteor.subscribe('操作');},操作:函数(){var action=this.request.body.action;var reactions=reactions.find({action:action}).fetch();console.log('reactions.length='+reactions.length);
您的路由操作需要涉及渲染。您的find()
可以在data:
函数中运行。为什么where:
会起作用?订阅需要在客户端上运行!
this.route('reactions', {
waitOn: function() {
return Meteor.subscribe('reactions');
},
action: function () {
this.render('myLayout');
},
data: function(){
var action = this.request.body.action;
return Reactions.find( { action: action } ); // you don't need to .fetch(), just return a cursor
}
});
相关文章:
- Ember.js:liverload服务器不工作
- datatables+lengthMenu+All+服务器端处理+不工作
- 警报,提示..在本地服务器(Tomcat)上不工作
- 引导程序's的javascript在本地工作,但在部署到服务器时不能工作
- 背景's/JavaScript在本地显示/工作,而不是在服务器上
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- web工作程序中不同的服务器请求行为
- 数据表 + 列搜索 + 整体搜索协同工作 + 服务器端处理
- 使用HTML和任何服务器端语言(PHP,.net,ruby)制作的网站是否可以在每个具有浏览器的设备上工作
- 代码在jsfiddle中工作,但在本地服务器中不起作用
- WebSocket 应用程序在部署在 Tomcat8 服务器上时无法正常工作
- Node http-proxy-middleware 不能与本地服务器一起工作
- 当通过Node.js服务器访问时,Javascript文件在Chrome上工作,但从文件夹打开时不工作
- 服务器重新启动后javascript不工作
- Jquery Post方法在本地工作,但在服务器上不工作
- CSS和Javascript可以在内部服务器上工作,但不能在外部工作
- 为什么我的下拉菜单在本地服务器上可以工作,但当我推到heroku时却不能
- HTML5视频在本地正常工作,但不在托管服务器上
- Javascript在本地工作,不会在Web服务器上工作
- Facebook Api好友列表不工作服务器