问题:
我有一个带有猫鼬模型的基本快递服务器。
我将api称为“ / api / forums / all”,它应该使我从“论坛”模型中获得所有论坛文档。
当我叫它时,它什么都不做。
这是我的论坛路线本身:
router.get('/all', (req, res) => {
// Populating all field we need in the frontend
// We need: All the forums, with all subForums
// and for each subForum we need it's posts and last poast
console.log('trying..');
const all = await Forum.find({}, (err, forum) => {
console.log('still trying');
});
// .populate({
// path: 'subForums',
// populate: [{ path: 'lastPost' }, { path: 'posts' }]
// });
return res.json(all);
});
这是我尝试访问此路线时打印的内容:
尝试..
因此“仍在尝试”不会运行。
我尝试过什么:
我将函数更改为如下形式(在(req, res)
之前加上asyinc:
try {
console.log('trying..');
const all = await Forum.find({})
console.log('still trying');
// .populate({
// path: 'subForums',
// populate: [{ path: 'lastPost' }, { path: 'posts' }]
// });
return res.json(all);
} catch (err) {
console.log('trying but error');
return res.json(err);
}
在.exec()
方法的末尾加上.find
。
但是“仍在尝试”不会运行。
与邮递员的get请求只是无限期地运行。
我真的不知道这是什么问题。
答案 0 :(得分:0)
尝试一下。在数据库上搜索时,您需要先打开mongodb
MongoClient.connect('url of your database', function(err, db) {
const all = await Forum.find({}, (err, forum) => {
console.log('still trying');
});
})
答案 1 :(得分:0)
我发现了错误:
我正在导入一个种子文件,该文件为数据库提供种子,然后在完成后将其断开连接。
所以当我拨打任何路线时,猫鼬不再连接。