通过 NodeJS 在 PostgreSQL 中组合类型的数组

Arrays of composite types in PostgreSQL via NodeJS

提问人:arengit 提问时间:2/7/2022 更新时间:10/20/2022 访问量:132

问:

我正在使用 Node.JS(“pg”包)连接到托管在 Heroku 上的 PostgreSQL 数据库。我需要在我的表中创建一个列,该列将包含不同数据类型的数组。通过查看之前在 Stackoverflow 上提出的其他问题,我知道我可以创建可用于声明数组的复合数据类型。喜欢:

create type my_item as (
    field_1        text,
    field_2        text,
    field_3        text,
    field_4        number
);

但是,我不明白在使用 Node.JS 时如何实现这一点。我应该把它放在我的文件中的什么位置,在什么时候运行它?

我有一个文件,其中包含我的池实例和数据库访问信息。我的函数存储在一个文件夹中。每个函数都有自己的变量,然后将其传递给查询。喜欢:index.JSmodelsSqlString

export async function getScores() {
    const data = await query(`SELECT * FROM score`);
    return data.rows;
}

感谢任何帮助。

节点.js PostgreSQL 复合类型

评论


答:

0赞 Biller Builder 10/20/2022 #1

Postgresql中没有这样的东西。您可能需要将列存储为 / type,并在应用程序级别处理它们。或者在数组中创建所有可能类型的超集类型,并在应用程序级别处理 s。仅当子集类型不在同一键上重叠不同类型时,这才有效。 此外,复合的主要用例与 // 查询有关,也就是任何需要从应用程序进行值插值的东西。当然,这在你的示例代码中是没有用的。array of different composite typesjsonjsonbNULLINSERTUPDATEDELETE