2016-03-29 1 views
0

すべての部分がほぼ位置していますが、何かが壊れています。私が正しくルータでデータベースを呼び出し、バックデータを正しく返すMongoDBからのデータを玉の表示に戻す

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 

アム:私は、しかし、ジェイドは以下のエラーを返して、バックヒスイビューにMongoのコレクションからデータを渡すしようとしていますか?誰かがそれが偉大であることを明確にすることができれば。

ルータ:

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

'' render'を呼び出す前に何か問題があるかどうかを確認するために '' err'と 'entries'をログ(' console.dir')することができます。 – dliu

答えて

0

(更新)find()の正しい使用法は次のとおりですか?

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

両方の方法で試してみましたが、 'entries'はまだ玉の中で定義されていません。 –

+1

find(コールバック)はfind({}、コールバック)と同じです。 – dliu

+0

私の悪い!次に、エラーを確認する必要があります: 'console.log(err)'。 –

関連する問題