2014-01-29 61 views
0

我正在尋找一個非常簡單的示例,說明如何獲取此代碼的輸出並將其轉換爲可通過Jade顯示的HTML。Mongoose:以表格的形式顯示find()的結果

var server1 = Server.find({}, 
      function(err, docs) { 
      if (!err){ 
       console.log(docs); 
         } 
      else { throw err;} 
      } 
    ); 
res.render('servers', { title: 'verify', results: server1}); 
} 

我的玉模板包含此:

table 
    each result in results 
    tr 
     td= result.name 
     td= result.os 

但是,我得到這個錯誤:無法未定義

讀取屬性「名」,如果我嘗試只是「結果」我得到了什麼看起來像是一個MongoDB設置的轉儲。

我的console.log看起來是這樣的,當我加載頁面,所以我知道我從DB領取模擬數據,但我不能讓它在玉顯示:

{OSVERSION:「gbgbgb」 , OS: 'BGBGBGB', 名: 'bgbgbgbgb', _id:52e1574c10abec5571b99be2, __v:0, 許可證:[], createdOn:星期四2014年1月23日12時54分20秒GMT-0500(EST)} , {osVersion:'h', os:'h', name,'h', _id:52e15e5510abec5571b99be3, __v:0, 許可證:[], createdOn:Thu Jan 23 2014 13:24:21 GMT-0500(EST)}

回答

1

您需要從回調函數內部調用res.render

var server1 = Server.find({}, 
     function(err, docs) { 
     if (!err){ 
      res.render('servers', { title: 'verify', results: docs }); 
        } 
     else { throw err;} 
     } 

); 

Server.find()返回值是不是查詢結果,查詢的結果傳遞給回調函數。在查詢

貓鼬文檔頁面(http://mongoosejs.com/docs/queries.html)有很多的find()功能的好例子。

+0

感謝您的解釋。 mongoosejs.com文檔似乎針對的是那些對JavaScript有豐富經驗的人。那不幸的不是我。 – xdaxdb

0

這似乎是工作得相當好

exports.index = function(req, res){ 
    Server.find({}, 
    function(err, docs) { 
     if (!err){ 
      res.render('servers', { title: 'verify', results: docs}); 
     } 
     else { throw err;} 
    } 
); 
} 

,然後我的玉文件看起來像這樣:

table 
    each result in results 
     tr 
     td #{result.name} 
     td #{result.os} 
     td #{result.createdOn} 
相關問題