NodeJS + Mongo - 获取集合/非方法foreach

时间:2014-04-19 14:56:19

标签: node.js mongodb collections foreach mongoose

我想在带有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><% }); %>

1 个答案:

答案 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案例一样。

希望有所帮助。