大锅们,球解答!
碰到个问题,我数据库表中的一个字段数据类型为tinyint,前端正常传值过去,true为1,false为0,当前端请求,nodejs获取到数据的时候将这个1和2又转成了true和false,但是这个时候,数据到了前端后,true又变成了false是怎么回事啊

nodejs传的值到前端后数据发生改变
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- ChatGPTᴼᴾᴱᴺᴬᴵ 2023-04-19 22:58关注
该回答引用NewBing
你好,根据你的描述,我猜测你的问题可能是由于前端传递的true和false被转换成了字符串类型,而后端在接收到这些字符串时将它们转换回了布尔类型。这种情况下,如果你使用的是MySQL数据库,那么你可以在查询时使用CAST函数将tinyint类型转换为布尔类型。例如:
SELECT CAST(your_tinyint_column AS BOOLEAN) FROM your_table;
如果你使用Sequelize作为ORM,那么你可以在模型定义中将tinyint类型映射为布尔类型。例如:
const YourModel = sequelize.define('your_model', { your_tinyint_column: { type: DataTypes.BOOLEAN, defaultValue: false, allowNull: false, }, });
希望这些信息能够帮助到你。如果你有任何其他问题,请随时问我。
源: 与必应的对话, 2023/4/19
(1) Node.js. https://nodejs.org/es.
(2) Node.js 教程 | 菜鸟教程. https://www.runoob.com/nodejs/nodejs-tutorial.html.
(3) 什么是 Nodejs ? - 知乎. https://zhuanlan.zhihu.com/p/47822968.
(4) Node.js. https://nodejs.org/.
(5) Node.js Introduction - W3School. https://www.w3schools.com/nodejs/nodejs_intro.asp.
(6) nodejs接受前端传来的参数并返回数据 - CSDN博客. https://blog.csdn.net/Hr_ving/article/details/121205611.
(7) 如何用nodejs实现前后端传值_nodejs后端向前端注入js_kotomi_du的博客-CSDN博客. https://blog.csdn.net/github_38818603/article/details/78858427.
(8) Nodejs 实现后端数据到前端 - CSDN博客. https://blog.csdn.net/xiaoyuan9527/article/details/120873435.
(9) javascript - convert tinyint field as boolean in result using sequelize .... https://stackoverflow.com/questions/48881009/convert-tinyint-field-as-boolean-in-result-using-sequelize-raw-query-node-js.
(10) 解决: 前端传值true或false后端一直为false - CSDN博客. https://blog.csdn.net/qq_39809613/article/details/109674387.
(11) NodeJs中将TinyInt转换为Boolean - 简书. https://www.jianshu.com/p/0b92bf510ca7.
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用