加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

数组 – 如何使用Sequelize PostgreSQL将项追加到数组值

发布时间:2020-12-13 15:59:02 所属栏目:百科 来源:网络整理
导读:我有一个posgresql数据库,表有一个列是一个数组:Sequelize.ARRAY(Sequelize.BIGINT). 将新项目附加到数组的正确方法是什么? 我是posgresql,sequelize和nodejs的新手.可能是一个微不足道的问题. 从阅读中我想我知道如何使用Promise.all来读取所有行,追加并
我有一个posgresql数据库,表有一个列是一个数组:Sequelize.ARRAY(Sequelize.BIGINT).

将新项目附加到数组的正确方法是什么?

我是posgresql,sequelize和nodejs的新手.可能是一个微不足道的问题.
从阅读中我想我知道如何使用Promise.all来读取所有行,追加并更新回来.
问题是,没有任何有用的捷径.

PostreSQL documentation提到了一个函数array_append(anyarray,anyelement).

Sequelize documentation offers一个函数fn,它创建一个表示数据库函数的对象,但似乎只在where和order部分工作

有什么方法可以将它们组合成类似追加的更新吗?

解决方法

数组数据类型有很多方法,如append,concat等,你可以看到 here.我将给出一个array_append函数的例子.

Room是一个sequelize模型,job_ids是此模型中的一列,数据类型为整数Array. sequelize是Sequelize课的瞬间.

Room.update(
 {'job_ids': sequelize.fn('array_append',sequelize.col('job_ids'),new_jobId)},{'where': {'id': roomId}}
);

假设此列的默认值为空数组,则可能会引发错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读