Node.js 枚举类型的数组作为字符串从Postgres返回

Node.js 枚举类型的数组作为字符串从Postgres返回,node.js,postgresql,node-postgres,Node.js,Postgresql,Node Postgres,给定自定义枚举: 创建类型车辆作为枚举(“汽车”、“卡车”、“自行车”) 还有一张这样的桌子: CREATE TABLE vehicle_events ( timestamp timestamptz NOT NULL DEFAULT current_timestamp, labels vehicle[] NOT NULL, mentions int4[] NOT NULL DEFAULT '{}' ); 从我们的节点应用程序中查询时,如下所示: 从车辆事件中选择* 这将返回一个js

给定自定义枚举:
创建类型车辆作为枚举(“汽车”、“卡车”、“自行车”)

还有一张这样的桌子:

CREATE TABLE vehicle_events (
  timestamp timestamptz NOT NULL DEFAULT current_timestamp,
  labels vehicle[] NOT NULL,
  mentions int4[] NOT NULL DEFAULT '{}'
);
从我们的节点应用程序中查询时,如下所示:

从车辆事件中选择*

这将返回一个json结构,如下所示:

CREATE TABLE vehicle_events (
  timestamp timestamptz NOT NULL DEFAULT current_timestamp,
  labels vehicle[] NOT NULL,
  mentions int4[] NOT NULL DEFAULT '{}'
);
[{“时间戳”:“2016年1月6日23:04:56”,“标签”:“{car'}”,“提及”:[1,2,3,4]}]

我的问题是,为什么标签数组会以字符串的形式返回(请注意,基类型的references数组不是)?这是因为它是
枚举的数组吗?如果是,如何将其强制放入常规数组?为什么postgres会以这种方式返回它


sqlfiddle链接:

这就是postgres数组在不被解释为数组时的外观。如果在查询中使用to_json(),数组将相应地返回


类似:
选择to_json(标签)作为车辆事件的标签

这就是postgres数组在不被解释为数组时的外观。如果在查询中使用to_json(),数组将相应地返回


类似:
选择to_json(标签)作为车辆事件的标签
“[1,2,3,4]”
将是一个字符串,而
[1,2,3,4]
不是。你凭什么认为它是一根绳子?您自己的代码显示了相反的结果。标签数组作为字符串返回,而不是提及数组:“{'car'}”,这可能是节点postgres中的另一个错误。只需通过pg类型为枚举添加您自己的转换器-这相当简单。请参见
“[1,2,3,4]”
将是字符串,而
[1,2,3,4]
则不是。你凭什么认为它是一根绳子?您自己的代码显示了相反的结果。标签数组作为字符串返回,而不是提及数组:“{'car'}”,这可能是节点postgres中的另一个错误。只需通过pg类型为枚举添加您自己的转换器,这非常简单。看看您是否知道是否有其他方法可以做到这一点?不必显式地强制转换为json?您是否知道是否有其他方法可以做到这一点?不必显式转换为json?