gpt4 book ai didi

javascript - 从 upsert (insertOrUpdate) Sequelize Node.js 获取插入行的 id

转载 作者:数据小太阳 更新时间:2023-10-29 04:49:13 24 4
gpt4 key购买 nike

我正在创建一个 REST API。我想实现一个独立的 PUT 操作,它可以创建或更新数据库中的特定资源。

我正在使用 node.js、postgreSQL 和 sequelize。问题是 sequelize upsert 返回 truefalse 取决于资源是更新还是创建。

但如果资源已创建,我需要能够将唯一标识符(列 ID)发送回客户端。

我尝试过的一个解决方案是通过在 sequelize findOne 查询的“where”属性中指定从客户端发送的每一列来尝试找到完全相同的资源。但如果客户端发送不在数据库中的其他列,它会抛出错误。在我的实现中不应该是这种情况。

这个可以实现吗?最好没有一些性能开销。谢谢

最佳答案

目前无法从 Sequelize 中的 upsert 取回 ID。有关详细信息,请参阅:https://github.com/sequelize/sequelize/issues/3354

此问题的可能解决方案是强制用户(或本例中的 REST API 客户端)在请求更新时提供记录的 ID,而在创建新记录时不提供 ID .这通常是一个好主意,因为它可以防止往返数据库,尽管它会使您的 API 更严格一些。

关于javascript - 从 upsert (insertOrUpdate) Sequelize Node.js 获取插入行的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37730090/

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