将数据从MongoDB返回到玉视图

时间:2016-03-29 21:16:42

标签: javascript node.js mongodb express mongoose

所有的部件几乎都在位,但有些东西正在破碎。我正在尝试将mongo集合中的数据传递回jade视图,但是Jade返回了以下错误:

TypeError: /Users/rhysedwards/Downloads/insightful/food/views/index.jade:30
    28|       
    29|       #events
  > 30|       each Entry, i in entries
    31|         div.title
    32|         div.url
    33|         div.specificDate

Cannot read property 'length' of undefined

我是否在路由器中正确调用数据库并正确返回数据?如果有人能澄清这将是伟大的。

路由器:

router.get('/', function(req, res, next){
  var db = req.db;
  var entries = db.get('entries');
  entries.find( function (err, entries) {
    res.render('index', {
      "entries": entries
    });
  });
});

玉模板

each entry, i in entries
  div.title
  div.url      
  div.selectedDate

条目集合中的数据

{
    "_id" : ObjectId("56fae2731b90abc3793d4f33"),
    "url" : "https://www.residentadvisor.net/event.aspx?801261",
    "title" : "\tRA Tickets: Sneak Every Tuesday at XOYO, London",
    "selectedDate" : "03/09/2016",
    "__v" : 0
}

模式

var Entry = module.exports = mongoose.model('Entry', EntrySchema);

1 个答案:

答案 0 :(得分:0)

(已更新)find()的正确用法如下?

  entries.find({}, function (err, entries) {
    res.render('index', {
      "entries": entries
    });
  });