【发布时间】:2014-09-10 09:41:42
【问题描述】:
我有一个用 MongoDb 编写的“后端”应用程序(在数据库中我有 _id: with ObjectId("13f6ea...002"))我使用流星应用程序来显示信息。一切都很好,我用 {{#each}} 显示信息列表。但是当我想用 '_Id' 显示一个元素时,没有任何效果。
我阅读了this issue 并调整了我的代码以获得正确的根目录,但我无法在页面上显示任何内容。我尝试编写模板助手,但没有帮助
数据库记录:
{
_id: ObjectId("13f6ea...002"),
url: "foo",
title: "bar",
published: "2014-08-22 03:26:21 UTC",
image: "foo.jpg",
summary: "foo ",
categories: [
"F",
"B"
],
...
}
路线:
this.route('news', {
path: '/news/:_id',
template: 'news',
waitOn: function () {
var id = this._id;
Meteor.subscribe('news', id);
},
data: function() {
var id = this.params._id;
return News.findOne({ _id: Meteor.Collection.ObjectID(this.params._id)});
},
action : function () {this.render();},
});
发布
Meteor.publish('news', function(id) {
return News.find({_id: id});
});
重定向到唯一帖子的模板
<h4><a href="{{pathFor 'news' _id=this._id.toHexString}}">{{title}}</a></h4>
而模板只是 {{news}}
我该如何解决这个问题?
更新
我的解决方案:
路由器.js
waitOn: function () {
var id = this._id;
Meteor.subscribe('News', id);
},
data: function() {
return News.findOne(new Meteor.Collection.ObjectID(this.params._id));
},
在模板中
<a href="news/{{_id._str}}">
【问题讨论】:
标签: mongodb meteor iron-router objectid