我想在带有Foreach的页面上显示我的集合的内容,但是我有一个错误:
TypeError:Object#没有方法'forEach'
my_express.get('/Profil', isLoggedIn, function(req, res) {
_articles.findOne({ email : req.user.email }, function(error, articles) {
if (error || !articles) {
res.render('Profil', {user : req.user, articles : articles});
}
else {
res.render('Profil', { user: req.user, articles : articles});
}
我的观点是:
<% articles.forEach( function( content ){ %>
<p><%= content.Titre %></p>
<p><%= content.Description %></p><% }); %>
答案 0 :(得分:0)
当你使用findOne时,结果将是一个对象,而不是一个数组,并且&#34; forEach&#34;是一个数组原型的方法。当你使用find时,没有直接的callBack,你需要这样的东西:
_articles.find({ email : req.user.email }).toArray(function(error, articles) {
if (error || !articles) {
res.render('Profil', {user : req.user, articles : articles});
} else {
res.render('Profil', { user: req.user, articles : articles});
}
});
而不是&#34; toArray&#34;你可以使用&#34;每个&#34;在这种情况下,每个项目将调用一次callBack,该项目将成为一个对象,就像findOne案例一样。
希望有所帮助。