javascript MySQL在Sequelize 5中返回字符串而不是JSON

8qgya5xd  于 2023-01-04  发布在  Java
关注(0)|答案(2)|浏览(183)

当我向服务器发出请求时,MySQL返回一个STRING对象而不是JSON。
以下是模型示例

const Task = sequelize.define(task, {
  name: DataTypes.STRING,
  questions: DataTypes.JSON
})

return Task

所述控制器

async index(req.res) {
  try{
     const id = req.params
     const getTask = await task.findOne(
     {
       where: {id: id}
     },
     { raw: true }
     )
     
     res.send(getTask)
  }
  catch(e) {}
}

如何获得实际的JSON数据而不是字符串?谢谢

omhiaaxx

omhiaaxx1#

您没有分析结果数据。

async index(req,res) {
  try{
     const id = req.params
     const getTask = await task.findOne({
     where: {
        id: id,
    },
     })
     console.log(getTask)
  }
  catch(e) {}
}
jw5wzhpr

jw5wzhpr2#

在我的例子中,我在MariaDB驱动程序上使用了MySql DB!
您可以将续集dialect更改为MariaDB

const sequelize = new Sequelize("myDB", "root", "myPass", {
  host: "localhost",
  dialect: "mariadb",
});

你也需要安装mariadb软件包
npm install mariadb --save

yarn add mariadb --save
对我很有效。

相关问题