В последнее время я переписывал свой очень простой сервер. Я пытался ввести обещания, но по какой-то причине, хотя моя база данных mongoDB содержит данные (в данном случае список категорий), когда я вызываю описанный мною ниже метод, он возвращает пустой объект json {}. Я пробовал несколько методов. До этого это был очень простой метод, который работал нормально, я пытаюсь обновить его, чтобы учесть более сложные запросы.
Кто-нибудь знает, почему я могу получить пустой объект? Он возвращает 200 OK в почтальоне, поэтому я не верю, что есть какие-либо ошибки.
Это мой класс контроллера:
'use strict';
var mongoose = require('mongoose'),
Category = mongoose.model('Categories');
module.exports = function() {
var mod = {
listAllCategories() {
return new Promise(function(resolve, reject) {
Category.find({}, function(err, category) {
if (err) {
return reject(err)
} else {
return resolve(category)
}
});
}).then(([category]) => {
if(category)
{
return category
}
else
{
return { success: false }
}
});
}
}
return mod;
};
Вот как я вызываю этот метод в своем классе Routes:
app.get('/api/gameCategories', (req, res) => {
res.json(gameCategoryList.listAllCategories())
})
Заранее спасибо.