首页 > 解决方案 > 如何在续集中为具有响应数组的表对象设置模型

问题描述

我在如何使用 Sequelize ORM 中的响应数组为表对象设置模型时遇到了挑战。我使用 Postgres 数据库。我有一张桌子说 foo。Foo 有列

A

B

C
> C1_SN

  C1_Name

  C1_Address

  C1_Phone

D

E

C 列有一个布尔问题,如果用户选择 true,他将需要为 C1 提供响应数组。比如我们现在有:

  C1_SN1

  C1_Name1

  C1_Address1

  C1_Phone1
------
  C1_SN2

  C1_Name2

  C1_Address2

  C1_Phone2
-----
  C1_SN3

  C1_Name3

  C1_Address3

  C1_Phone3

我希望有多个团队来填补这张桌子。如何在 sequelize 中设置模型?我有两个选择。

选项1

我想到的第一个选项是在 Foo 和 C1 之间创建一个额外的 1:1 表。但是使用这个选项,我不知道如何在 C1 表中批量创建 C1 响应数组。

选项 2

我认为也可以使 Foo 表中的 C1 列具有嵌套的值数组。这样,如果 userA 提交他的数据,它将具有 C1 的嵌套数组。但我也不知道如何使用这种方法。

标签: sqlnode.jspostgresqlsequelize.jssequelize-cli

解决方案


如果用户选择 true,则需要为 C 创建单独的表,然后需要传递对象数组,然后传入 bulkCreate。

C1_SN自动增量
C1_NAME
C1_Address
C1_Phone

value=[{"C1_NAME":"HELLo","C1_Address":"HELLo","C1_Phone":"987456321"},{"C1_NAME":"HELLo1","C1_Address1":"HELLo","C1_Phone": "987456321s"}]

foo.bulkCreate(value).then(result=>{
console.log(result)
}).catch(error=>{
console.log(error)
})

从官方你可以查看这个链接: Sequelize bulkCreate


推荐阅读