使用Mongoose在Jade中显示数据

时间:2015-10-23 21:05:22

标签: node.js mongodb express mongoose pug

我一直在尝试抓取存储在mongodb中的数据并使用简单的Jade模板显示它。我对此很陌生,此时我完全迷失了。

这是我在/ yfirlit

上渲染我的集合时的输出

MongoDB output on yfirlit-page

/ yfirlit的快速路由器看起来像这样

apiRouter.get('/yfirlit', function(req, res){
  apiUser.find(function(err, users) {
     if(err) res.send(err);
       res.render('yfirlit', {title: 'Yfirlit', users: users});
    });
});

我简单的翡翠模板

html
  head
   title!= title
  body
    div #{users}
    p
     | API

当我运行测试时,整个mongodb集合将显示在网站上。我正在寻找的是能够只显示集合中的一部分文档。例如:我试图在Jade模板中只显示name属性,但无法正确显示它。

html
  head
   title!= title
  body
    div #{users.name}
    p
     | API

任何帮助都会非常感激,我很失落,我很想能够只渲染出我想要的属性而不是图片中的整个属性。

干杯!

1 个答案:

答案 0 :(得分:1)

正如Sgnl所说,在路线中,您需要渲染Jade视图并像您一样包含数据,但使用res.render

apiRouter.get('/yfirlit', function(req, res){
  apiUser.find(function(err, users) {
    if (err) return next(err);
    res.render('index', {
      title: 'yfirlit',
      users: users
    })
  });
});

...我认为您还需要一个循环来显示Jade视图中的数据,因为它包含多个值:

if users
  each user in users
    div #{user.name}