2016-03-29 2 views
0

Все части практически на месте, но что-то ломается. Я пытаюсь передать данные из коллекции Монго обратно к виду нефрита, однако Джейд возвращается ошибка ниже:Возвратные данные от MongoDB до jade view

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 

Am Я правильно призывающим к базе данных в маршрутизаторе и возвращающиеся данные обратно правильно? Если кто-нибудь сможет прояснить это, это будет здорово.

Маршрутизатор:

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); 
+0

Вы можете зарегистрировать ('console.dir')' err' и 'entries', чтобы проверить, что-то не так, перед вызовом' render'. – dliu

ответ

0

(Обновлено) Неправильное использование find() следующим образом?

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

Пробовал это в обоих направлениях, а 'entries' все еще возвращается как неопределенный в Jade –

+1

find (callback) - это то же самое, что и find ({}, callback). – dliu

+0

Мой плохой! Затем вам нужно будет проверить наличие ошибки: 'console.log (err)'. –

Смежные вопросы