在jade模板中显示Mongodb集合

6

我是一名新手,正在学习node.js和mongodb。我创建了一个名为“article”的mongodb集合。我想在jade模板中显示这个集合中的所有文章。我使用了以下代码:

server.js:

articles: db.article.find()

index.jade:

-for article in articles
      .row
        .twelve.columns
          .panel
            li= article.text

这段代码非常基础,但是它将会改变。事实上,当我运行这段代码时,在jade模板中的列表是空的,什么都没有显示出来。看起来变量'articles'是空的。

有人知道如何让它工作吗?

谢谢

2个回答

8

.find() 是异步的。你正在同步使用它。

function(req, res, next) {
  db.articles.find().toArray(function(err, articles) {
    res.render('page', {
      articles: articles
    }
  })
}

0
尝试:
- console.log(articles)

在你的模板中,要想确定数组是否为空!

我尝试了一下,在控制台中,我得到了这个结果: '{ _oncursor: { get: [Function], put: [Function] } }' - Guillaume le Floch
你使用哪个模块来访问你的MongoDB? - 3on
哦,是的,mongodb-native,我设置了一个与数据库中另一个集合相关的登录/注销页面,并且运行良好。我认为我的问题来自这里“文章:db.article.find()”,但我真的不知道为什么或如何以其他方式做到这一点。 - Guillaume le Floch
我有这个:[object Object] - Guillaume le Floch
看一下util.inspect,这里有一个包装器示例https://github.com/dotcloud/express-on-dotcloud/blob/master/app/tools.js - 3on
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接