我有一个简单的帖子路线来寻找帖子_id
。
问题是pathFor
助手创建这样的路径:
ObjectID("52e16453431fc2fba4b6d6a8")
我猜 mongoDB 插入已更改,现在_id
对象在其内部包含另一个对象,称为_str
.
这是我的路线:
this.route("post", {
path: "/post/:_id",
waitOn:function(){
NProgress.start();
Meteor.subscribe("Teams");
},
before: function () {
NProgress.done();
},
data: function () {
return Posts.findOne({_id: this.params._id});
}
});
目前,它创建了一个href
like :
post/ObjectID("52e16453431fc2fba4b6d6a8")
单击它会打开一个网址
post/ObjectID("52e16453431fc2fba4b6d6a8")
但是,我得到的是“NotFound”模板而不是帖子。
我怎样才能解决这个问题?
您需要更改pathFor 'post'
传递 ObjectId 的十六进制表示形式52e16453431fc2fba4b6d6a8
代替ObjectId('52e16453431fc2fba4b6d6a8')
尝试这样的事情pathFor 'post' _id=this._id.toHexString
传递十六进制字符串后,您可以在路由器中使用它
return Posts.findOne({ _id: new Meteor.Collection.ObjectID(this.params._id)});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)