2011-09-29 68 views
0

使用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 

與我有什麼,在視圖中生成一個列表,但列表項是空的。謝謝。

回答

0

你在這裏的模型是什麼,你還與測試?如果是這樣,那麼你的列表產生的原因,但沒有顯示是因爲你目前沒有值。

li.pagefeedname=feed.name = 「0」:{「名」: 「」, 「關鍵」: 「」}

試着給你的飼料名稱/鍵一些值,看看如何播放出來。

否則,你有什麼應該工作

+0

啊,那是我不好,只是編輯的分貝樣品。沒有將數據提供給視圖。在引用的例子中,'page.title'會呈現,但不是提要。 lis會顯示,但不會有數據。 – tuddy

+0

嗯所以是的,這不工作。如果我在/pages.json請求頁面,我成功地獲得了json與feed數據的完整副本,我只是沒有得到它出來在html視圖中... – tuddy

0

tuddy, 我建議你試試這樣:

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