Javascript 使用sequelize raw query node.js将结果中的tinyint字段转换为布尔值

Javascript 使用sequelize raw query node.js将结果中的tinyint字段转换为布尔值,javascript,mysql,node.js,sequelize.js,Javascript,Mysql,Node.js,Sequelize.js,我的问题是,当我在sequelize中使用原始查询时,即选择查询,返回的tinyint字段是整数,而不是true/false 代码如下: router.route('/').get(function (req, resp) { sequelize.query("select * from territory_device", {model: territoryDevice}).then(result => { resp.send(result) }) })

我的问题是,当我在sequelize中使用原始查询时,即选择查询,返回的tinyint字段是整数,而不是
true
/
false

代码如下:

router.route('/').get(function (req, resp) {
    sequelize.query("select * from territory_device", {model: territoryDevice}).then(result => {
        resp.send(result)
    })
})
以下是我收到的结果:


虽然我在模型中将字段
定义为布尔值,但返回的是整数,我使用的是MySQL方言。

问题是MySQL端。Mysql为布尔数据类型返回0或1。您可以更改数据类型,或者只处理程序中的0或1,而不是使用
{raw:true}
,您可以获取Sequelize的包装,并使用
.toJSON()
方法对返回的响应进行转换


然后,您将在Sequelize的模型对象中将tinyint解析为boolean,只要其数据类型为.boolean。

图像和屏幕截图可以很好地添加到帖子中,但请确保没有它们,帖子仍然清晰有用。请不要发布读取的代码/数据的图像。而是直接将实际代码/数据复制粘贴或键入到帖子中。谢谢chade,但这是我第一次在这里询问,下次我会考虑你的建议尝试将默认值设置为true/False我认为sequelize中有一种方法可以做到这一点