Node.js - 在Jade视图中嵌套数组

Node.js - 在Jade视图中嵌套数组

问题描述:

使用Mongoose,我有一个模型页面,其中包含Feeds的嵌入模型。当我转到/页面时,page.title会显示每个页面,但Feed数据不会。我应该如何修改这段代码才能正确显示饲料数组中的数据?万分感谢Node.js - 在Jade视图中嵌套数组

db.pages〔实施例:

{ "title" : "testing feeds", "_id" : ObjectId("123456"), "feeds" : [ 
{ "0" : { "name" : "twitter", "key" : "1234" }, 
    "1" : { "name" : "flickr", "key" : "5678" }, 
}] } 

web.js

app.get('/pages.:format?', function(req, res) { 
    Page.find({}, function(err, pages) { 
    switch (req.params.format) { 
     case 'json': 
     res.send(pages.map(function(d) { 
      return d.toObject(); 
     })); 
     break; 

     default: 
     res.render('pages/index.jade', { 
      locals: { 
       title: 'ClrTouch | Pages', 
       pages: pages, 
       feeds: pages.feed, 
      } 
     }); 
    } 
    }); 
}); 

视图

- each page in pages 
    div.page 
    div.pagetitle= page.title 
     ul 
     - each feed in page.feeds 
     li.pagefeedname= feed.name 
     li.pagefeedkey= feed.key 

与我有什么,在视图中生成一个列表,但列表项是空的。谢谢。

你在这里的模型是什么,你还与测试?如果是这样,那么你的列表产生的原因,但没有显示是因为你目前没有值。

li.pagefeedname=feed.name = “0”:{“名”: “”, “关键”: “”}

试着给你的饲料名称/键一些值,看看如何播放出来。

否则,你有什么应该工作

+0

啊,那是我不好,只是编辑的分贝样品。没有将数据提供给视图。在引用的例子中,'page.title'会呈现,但不是提要。 lis会显示,但不会有数据。 – tuddy

+0

嗯所以是的,这不工作。如果我在/pages.json请求页面,我成功地获得了json与feed数据的完整副本,我只是没有得到它出来在html视图中... – tuddy

tuddy, 我建议你试试这样:

Page.find().lean().exec(function(err,pages){ 
    // TODO 
    });