gpt4 book ai didi

pg-promise - 如何使用 pg-promise 将 jsonb[] 数据插入列

转载 作者:行者123 更新时间:2023-12-03 08:51:18 26 4
gpt4 key购买 nike

给定一个包含 jsonb[] 类型列的表,如何将 json 数组插入到该列中?

使用提供的格式化程序 :array:json 在这种情况下将不起作用 - 除非我缺少正确的组合或其他内容。

const links = [
{
title: 'IMDB',
url: 'https://www.imdb.com/title/tt0076759'
},
{
title: 'Rotten Tomatoes',
url: 'https://www.rottentomatoes.com/m/star_wars'
}
];

const result = await db.none(`INSERT INTO tests (links) VALUES ($1:json)`, [links]);

最佳答案

在这种情况下,您不需要库的 :json 过滤器,因为您需要一个 JSON 对象数组,而不是带有 JSON 对象数组的 JSON。

前者默认格式正确,后者只需要 ::json[] 类型转换:

    await db.none(`INSERT INTO tests(links) VALUES($1::json[])`, [links]);

其他说明

  • 使用pg-monitor或事件query输出正在执行的查询,以便于诊断。
  • 方法 none只能用 null 进行解析,没有必要将结果存储在变量中。
  • pg-promise 没有任何 :array 过滤器,请参阅 supported filters .

关于pg-promise - 如何使用 pg-promise 将 jsonb[] 数据插入列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58758254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com