2015-08-05 2 views
0

Я занимаюсь созданием приложения для резервирования резервирования с помощью Node, но в настоящее время мои данные из базы данных не отображаются на странице. Вот Джейд файл страницы, который предназначен для отображения данных:Данные базы данных Jade/Node не отображаются

extends layout 

block content 
h1. 
    Reservations 
ul 
    each reservation in reservations 
     li= reservation.lastName 
     li= reservation.numberOfPeople 

Вот мой index.js файл:

var express = require('express'); 
var router = express.Router(); 

/* GET home page. */ 
router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Express' }); 
}); 

router.get('/reservations', function(req, res) { 
    var db = req.db; 
    var collection = db.get('freshStart'); 
    collection.find({},{},function(e,docs){ 
     res.render('reservations', { 
      "reservations" : docs 
     }); 
    }); 
}); 

router.get('/makeReservation', function(req, res){ 
    res.render('makeReservation', { title: 'Make a reservation'}); 
}); 

router.post('/makeReservation', function(req, res){ 
    var db = req.db; 

    var lastName = req.body.lastName; 
    var numberOfPeople = req.body.numberOfPeople; 
    var time = req.body.myTime; 
    var date = req.body.myDate; 

    var collection = db.get('freshStart'); 

    collection.insert({ 
     "lastName" : lastName, 
     "numberOfPeople" : numberOfPeople, 
     "time" : time, 
     "date" : date 
    }, function(err, doc) { 
     if(err) { 
      res.send("There was a problem adding the information to the database", err.toString()); 
     } else { 
      res.redirect("reservations"); 
     } 
    }); 
}); 

module.exports = router; 

Но когда я загрузить страницу, она показывает только заголовок но никакой информации о базе данных. Я запросил данные в cmd, и у него две записи. Что я делаю не так?

+0

Попробуйте 'console.log (документы)' –

+0

Thats дает мне пустой массив – tomtomy8

+0

Так проблема заключается в том , проверьте, что 'freshStart'collection не пуст –

ответ

0

Ошибка была связана с неправильной частью базы данных. Это был мой код:

router.get('/reservations', function(req, res) { 
    var db = req.db; 
    var collection = db.get('freshStart'); 
    collection.find({},{},function(e,docs){ 
     res.render('reservations', { 
      "reservations" : docs 
     }); 
    }); 
}); 

То, что я должен был делать это:

router.get('/reservations', function(req, res) { 
    var db = req.db; 
    var collection = db.get('reservations'); 
    collection.find({},{},function(e,docs){ 
     res.render('reservations', { 
      "reservations" : docs 
     }); 
    }); 
});