JavaScript中的64位整数,来自Mysql请求

我有这个数字76561197993482001(64位int)作为bigint(20)存储在我的数据库中。

但是,当我尝试使用它来获取它:

//node.js query('SELECT * FROM table',function(err,rows){ console.log(rows[0]["id"]);// I get 76561197993482000 }); 

我得到了错误的号码。 我想这是因为js不能处理64位variables。

我知道在js中有bigint的库,但是这个数字直接存储在rowsvariables中。 那我该怎么办?

当我发送请求时,有没有办法将它转换为文本?

根据您使用的中间件,它们中的大多数都具有支持大数字的设置,最常见的中间件使用supportBigNumbers选项

 var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'example.org', user : 'bob', password : 'secret', supportBigNumbers : true });