把手从数组中呈现全部

在我的appjs文件中,我试图以降序显示所有文章标题。 这工作正常,问题是mongoose返回一个数组,我不知道如何写在句柄中。

var bmtitles = BlogModel.find().select('title date').sort("date", -1); bmtitles.execFind(function(err, ttles) { console.log(ttles); var model = { layout:'blog.hbs', BmTitles: ttles, }; //render page res.render('blog', model); }); 

我已经尝试过这样的事情,但没有工作:

 {{BmTitles.n.title}} {{BmTitles.title}} {{BmTitles}} 

这是ttlesvariables返回的内容(只有两个testing职位)

 [ { _id: 5011b563a947b943dc32d6f5, title: 'Blog title one', date: Sun Jan 01 2012 18:00:00 GMT-0600 (CST) }, { _id: 5011c155a947b943dc32d6f6, title: 'secondpost', date: Sat Dec 31 2011 18:00:00 GMT-0600 (CST) } ] 

你会想使用#each迭代你的数组:

each块帮手

您可以使用内置的each帮助器遍历列表。 在块内部,你可以使用this来引用正在迭代的元素。

所以像这样的东西:

 {{#each BmTitles}} <p>{{_id}}: {{title}}</p> {{/each}} 

演示: http : //jsfiddle.net/ambiguous/vZyHn/

或者你可以把它小胡子风格 :

段根据当前上下文中的键的值一次或多次地呈现文本块。

一节以英镑开始,以斜线结尾。 也就是{{#person}}开始“人”部分,而{{/person}}结束。

所以这也将工作:

 {{#BmTitles}} <p>{{_id}}: {{title}}</p> {{/BmTitles}} 

演示: http : //jsfiddle.net/ambiguous/qyE9b/