将数组插入postgresql

时间:2017-05-04 04:22:03

标签: node.js postgresql

我想将一个id的数组插入到一个文件中,但是在创建一个表时,我使用了int,并且它具有另一个表的引用,现在我如何将数组值存储到特定字段? 我知道列必须是相同的类型,我也看到有些人试图在阵列问题上解决这个外键: 我也按照这个文档尝试了ELEMENT但没有成功。请有人在这里帮助我https://blog.2ndquadrant.com/postgresql-9-3-development-array-element-foreign-keys/

db.query('CREATE TABLE IF NOT EXISTS departments_users(_id SERIAL NOT NULL UNIQUE PRIMARY KEY,user_id int REFERENCES companyUser ON DELETE CASCADE,department_id int REFERENCES departments ON DELETE CASCADE)');

exports.addCompanyUser = function(data, callback) {
    db.query('INSERT INTO departments_users(user_id,department_id) VALUES($1,$2) RETURNING *', [companyuseraccess.rows[0]._id, data.department]).then(function(departments_users) {      
    })
}

1 个答案:

答案 0 :(得分:1)

你没有ARRAY dataType的任何字段,所以基本上你不能在字段中插入数组。如果您希望在字段中放入数组,请先将其数据类型更改为ARRAY,然后您可以

INSERT INTO "some_table" ("id","array_field","some_text_field") 
VALUES (1,ARRAY['value1','value2']::TEXT[],'active') RETURNING *

希望这会有所帮助。如果我能进一步帮助,请告诉我