Приносим извинения, если это не соответствует стандартным стандартам, но, пожалуйста, обратите внимание, что я старался изо всех сил.Получение пустого ответа, возвращенного с узлаJS + Express
У меня возникли проблемы, возвращающиеся ответ JSON в моем API, который захватывает содержимое из экземпляра MongoDB
В принципе у меня есть следующий файл, который обрабатывает сервер nodejs (server.js):
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var Person = require('./models/people');
mongoose.connect('mongodb://localhost/testdb');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
var router = express.Router();
router.use(function (req,res,next) {
console.log('something going on');
next();
})
router.get('/', function (req,res) {
res.status(500).json({
error: 'unauthorized'
});
});
router.route('/getPeople').get(function (req,res){
Person.find(function (err,people) {
console.log('err: ' , err);
console.log('people: ' , people);
if (err)
res.send(err)
res.json(people);
})
})
app.use('/api',router);
app.listen(port);
console.log('server started on port : ' , port);
модель выглядит следующим образом (people.js):
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var PeopleSchema = new Schema({
name: String,
surname: String
});
module.exports = mongoose.model('Person',PeopleSchema)
Мой DB правильно заполнена значением, и если я к нему доступ с помощью Монго оболочки (db.People.find()) Я получаю правильный результат. Вместо этого, используя код, он не работает.
Что показывает ваш выход? – Neil
Он показывает только «[]». –
Я имею в виду ваш консольный журнал. Вы видите людей: []? – Neil