Mongodb Meteor:传递路由器参数以获取采集数据,但没有结果

Mongodb Meteor:传递路由器参数以获取采集数据,但没有结果,mongodb,meteor,iron-router,mongo-collection,Mongodb,Meteor,Iron Router,Mongo Collection,我是meteor的新手,在尝试使用Iron Router向集合传递url参数并检索一些数据以供显示时遇到了一个问题 具体来说,我有一个包含事件的集合,我希望有一个页面可以更详细地显示单个事件 PS:我成功地将Iron Router和Meteor的发布/订阅逻辑用于其他任务,例如显示所有事件、创建它们并将它们保存到个人列表中 event.html {{title}} {{content}} 路由器.js this.route('event'){ 路径:'/event/:_id', wait

我是meteor的新手,在尝试使用Iron Router向集合传递url参数并检索一些数据以供显示时遇到了一个问题

具体来说,我有一个包含事件的集合,我希望有一个页面可以更详细地显示单个事件

PS:我成功地将Iron Router和Meteor的发布/订阅逻辑用于其他任务,例如显示所有事件、创建它们并将它们保存到个人列表中


event.html


{{title}}
{{content}}

路由器.js

this.route('event'){
路径:'/event/:_id',
waitOn:函数(){
返回Meteor.subscribe(“事件”);
},
数据:函数(){
返回Events.findOne(this.params.\u id);
}
});

发布发生在publish.js中的服务器上,并在路由器中订阅
publish.js

Meteor.publish('Events',function(){ 返回事件。find(); }); 路由器.js

Router.configure({
(..)
waitOn:function(){
返回[
Meteor.subscribe(“事件”),
Meteor.subscribe('myEvents'))
];
}
});

我一直在看Manuel Schoebel的教程

在集合查找发生之前,一切都正常。当我从集合中记录结果数据时,它是
未定义的

数据:函数(){
var event=Events.findOne(this.params.\u id);
console.log(事件);
返回事件;
}

我错误地将
放在了不该放的地方。

结束问题。

尝试更改此
var event=Events.findOne(this.params.\u id)
to
var event=Events.findOne({u id:eventId})//其中var eventId=this.params.\u id
并返回
{event:event}
console.log(this.params.\u id)为您提供了什么?Events.findOne({code id:ObjectId(this.params.\u id)})如何;够傻的了,我把一个
放在了一个不该放的地方。代码现在功能齐全:)谢谢大家的帮助!