Mysql的基本數(shù)據(jù)類型中并沒有布爾型览芳,之所以建表和數(shù)據(jù)操作中能夠使用BOOLEAN是因為mysql將其作為了tinyint(1)的別名警没。用0表示false辐赞,1表示true钾埂。
但開發(fā)過程中扣汪,既然我們給某一字段定義為布爾型断楷,那么在我們獲取數(shù)據(jù)后,期望得到的必然是布爾值而不是0或1崭别。因此我們可以在得到返回值后轉(zhuǎn)換一下冬筒。
這里我使用的是mysql模塊,該模塊允許給typeCase屬性設置一個回調(diào)函數(shù)茅主。詳見官網(wǎng)說明
connection.query({
sql: '...',
typeCast: function (field, next) {
if (field.type == 'TINY' && field.length == 1) {
return (field.string() == '1'); // 1 = true, 0 = false
}
return next();
}
});
但這也意味著使用該方法的項目不能使用tinyInt(1)類型了舞痰,自行取舍吧~
- 本文固定鏈接: http://zoufeng.net/2018/01/14/convert-tinyint-to-boolean-in-nodejs/
- 轉(zhuǎn)載請注明: foam 2018年01月14日 于 foam 發(fā)表