首页 > 解决方案 > API Routes以不同的结构返回数据,我需要返回一个对象数组

问题描述

目前我的 Api 正在返回一个对象而不是数组中的一个对象,但是我似乎无法分辨这两条路由之间的区别以及为什么一个会返回所述数据数组而不是另一个。我似乎无法在这里发现差异,除非它与使用 Op.like ORM 有关?
例如 :

router.get('/caseDetail/:id', (req,res) => {
db.caseDetail.findOne({
    include : [db.Part,db.Fault,db.Disposition,db.Contact,db.Site]
}).then((response) => {
    res.json(response);
}).catch((error) => {
    console.table([stack.error,stack.id,error])
})
})

上面的路由返回一个数据数组,而下面的只返回一个对象

router.get('/caseDetail/:caseName', (req,res) => {
    db.caseDetail.findAll({
        
        include : [db.Part,db.Fault,db.Disposition,db.Contact,db.Site],
        where : {
            caseName:{ 
              [Op.like]: req.params.caseName}
        }
    }).then((response) => {
        console.log(response);
        res.json(response)
    }).catch((error) => {
        console.log(error);
    })
})

--------------------------对于上下文---------- ------
即使在其他脚本文件中,我也多次执行过这种方法,但我不需要以这种方式解析数据,这里有什么变形让我看不下去了吗?我错过了 JSON.parse(); 这里?Github

  try { 
                  const items = await axios.get(`/api/caseDetail/:caseName` + caseName);
                console.log(items.data); 
                $tbody.empty()
                items.data.forEach((item) => {
                    console.log(item);

返回结果

{id: 2, caseName: "1 - Fenway Park - 1", createdAt: "2021-07-27T18:13:55.000Z", updatedAt: "2021-07-27T18:13:55.000Z", UserId: 1, …}

错误信息

TypeError: items.data.forEach is not a function
    at callSearchResults (searchInventory.js:29)

标签: javascriptjqueryforeachaxiossequelize.js

解决方案


推荐阅读