由于某种原因,目前有brain.exe的缺点。
我正在使用Node.js和node-postgres查询我的数据库。
基本上,我正在尝试将文本数组插入PostgreSQL列中。
使用JSON.stringify()记录数组,如下所示:
["id1","id2","id3"]
我将能够
'INSERT INTO table (array) VALUES ($1)' [data]'
?
(极其简化-数据数组的长度是可变的)
答案 0 :(得分:0)
这是解决方案:
import { pgclient } from '../../db';
(async function test() {
try {
await pgclient.connect();
// create table
await pgclient.query(`
CREATE TABLE IF NOT EXISTS my_table (
id serial PRIMARY KEY,
arr varchar[]
)
`);
// test
const array = ['id1', 'id2', 'id3'];
await pgclient.query(`INSERT INTO my_table (arr) VALUES ($1)`, [array]);
} catch (error) {
console.log(error);
} finally {
pgclient.end();
}
})();
执行上述代码后,检查数据库:
node-sequelize-examples=# select * from "my_table";
id | arr
----+---------------
1 | {id1,id2,id3}
(1 row)