Javascript 如何检查来自Postgres BIGINT的值是否大于Number.MAX\u SAFE\u INTEGER?

Javascript 如何检查来自Postgres BIGINT的值是否大于Number.MAX\u SAFE\u INTEGER?,javascript,postgresql,bigint,node-postgres,Javascript,Postgresql,Bigint,Node Postgres,Javascript目前不支持Postgres中的BIGINT类型。许多人通过将BIGINT作为字符串解析出数据库来弥补这一缺陷。这是可以的,但我正在尝试提出一个实现,如果整数小于或等于Number.MAX\u SAFE\u integer,我将解析它,否则返回null 我怎样才能做到这一点 我正在使用 我有一个使用Number.isSafeInteger()的实现,但我不相信它在所有可能的值下都是准确的。我觉得我对“parseInt()”和“Number.isSafeInteger()”的理解

Javascript目前不支持Postgres中的BIGINT类型。许多人通过将BIGINT作为字符串解析出数据库来弥补这一缺陷。这是可以的,但我正在尝试提出一个实现,如果整数小于或等于Number.MAX\u SAFE\u integer,我将解析它,否则返回null

我怎样才能做到这一点

我正在使用

我有一个使用Number.isSafeInteger()的实现,但我不相信它在所有可能的值下都是准确的。我觉得我对“parseInt()”和“Number.isSafeInteger()”的理解不够,无法知道这是否可行

val作为类型字符串传递

最大安全整数如下所示

> Number.MAX_SAFE_INTEGER;
9007199254740991
以下内容似乎是准确的

> Number.isSafeInteger(parseInt('9007199254740993'));
false
这是目前的执行情况

types.setTypeParser(20, (val) => {
  const intVal = parseInt(val);
  if (Number.isSafeInteger(intVal)) return intVal;
  return null;
});

你的代码应该能用,你的代码应该能用。