问题返回对象



我对学习如何在后端工作还是个新手,我遇到了这个问题,它没有显示问题,而是抛出了一个错误(路由正在通过Thunder客户端进行测试(,下面是代码:

const express = require('express');
const router = express.Router();
// Question Data
const Questions = require('../../models/questions-data.json')

router.get('/', async(req, res) => {
try{
const question = await Questions.find()
return res.send(question)
} 
catch(error){
return res.status(500).send({"error": error})
}
})
module.exports = router;

正如我现在所说的,代码只是发送错误消息,而不是显示问题,我不知道为什么,任何帮助/提示都将不胜感激。

这里还有问题对象的结构:

question:string;
options:string[];
answer:string;

如果您的Questions是JSON格式,find()方法将抛出一个错误。find()方法用于数组,而不是对象。

此外,您编写了req.send(question)而不是res.send(question)

尝试:

return res.send(Questions)

如果它是一个对象,看看响应是否给出了对象。如果Questions是一个对象数组,并且您希望使用find对其进行操作,则应该给出一个条件,该条件将返回与该条件匹配的第一个元素。

return res.send(questions.find(element=>element.someKey === 'someValue'))

最新更新