微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有一个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}}
);

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐