如何在Meteor js的路由操作中使用Collection.find()
我有一套密码如何在Meteor js的路由操作中使用Collection.find(),meteor,iron-router,Meteor,Iron Router,我有一套密码 Router.configure({ layoutTemplate: 'master_layout' }); Router.map(function(){ this.route('generatePDF', { path: '/pdf', where: 'server', action: function() { console.log(voters.findOne().fetch()); var vo
Router.configure({
layoutTemplate: 'master_layout'
});
Router.map(function(){
this.route('generatePDF', {
path: '/pdf',
where: 'server',
action: function() {
console.log(voters.findOne().fetch());
var voters = voters.find();
....
}
});
如何在路由的操作中使用任何给定集合
我得到的错误如下
W20160510-20:19:29.909(5.5)? (STDERR) TypeError: Cannot call method 'findOne' of undefined
W20160510-20:19:29.910(5.5)? (STDERR) at [object Object].action (lib/routes.js:40:29)
W20160510-20:19:29.910(5.5)? (STDERR) at boundNext (packages/iron_middleware-stack/lib/middleware_stack.js:251:1)
您的代码中有多个错误 首先,
投票者
在控制台.log中是未定义的
(如错误日志所示)。
其次,vorters.findOne()
返回单个文档(假设您有一个名为vorters
的集合)。不能对文档调用fetch
。
您可以在光标上调用fetch
。例如,投票者.find().fetch()
就可以了
希望这对您的代码有帮助
首先,投票者
在控制台.log中是未定义的
(如错误日志所示)。
其次,vorters.findOne()
返回单个文档(假设您有一个名为vorters
的集合)。不能对文档调用fetch
。
您可以在光标上调用fetch
。例如,投票者.find().fetch()
就可以了
希望这能有所帮助尝试以下方法:
action: function () {
this.render('someTemplate',{
data: function(){
return Voters.find()
}
});
}
试试这个:
action: function () {
this.render('someTemplate',{
data: function(){
return Voters.find()
}
});
}
看起来你还只是从《流星》开始。推荐使用的路由器是kadia:flowrouter
,而不是iron:router
。看起来你刚刚开始使用Meteor。建议使用的路由器是kadia:flowrouter
,而不是iron:router
。