在 Sequelize 中创建对象字段

Posted

技术标签:

【中文标题】在 Sequelize 中创建对象字段【英文标题】:Creating An Object Field In Sequelize 【发布时间】:2020-09-28 20:39:45 【问题描述】:

我是 Sequelize 的新手,来自 MongoDB 和 mongoose,在 mongoose 架构中,您可以这样做以在架构中保存对象字段,

const userSchema = new Schema(
  name: String,
  age: String,
  address:  // this right here
 )

现在我的问题是,我怎样才能在 Sequelize 中做到这一点?

【问题讨论】:

【参考方案1】:

您可以在 Sequelize 中使用 JSON 数据类型的字段(这对应于 PostgreSQL 中的 JSON 数据类型)。

const User = sequelize.define('User', 
  name: 
    type: DataTypes.STRING,
    allowNull: false
  ,
  age: 
    type: DataTypes.STRING
  ,
  address: 
    type: DataTypes.JSON
  
, 
);

这样你就可以写到address字段任何JS对象(包括一个数组)。

【讨论】:

速查资料:地址我建议使用新表,sequelize中使用JSON作为属性对后面的数据查询和处理不是很好。 取决于任务。如果此字段不用于排序/过滤并且可以具有相当动态的结构,那么 JSON 可能非常适合。King Etiosasere,请说明您打算如何使用此字段 这个address字段是用来存储用户的不同地址的,除了用户编辑和更新地址信息外,几乎没有太大变化。 如果预先知道多种地址、稳定且可以搜索,那么我建议为它们使用单​​独的表格,正如 Alcides Bezerra 已经提到的那样

以上是关于在 Sequelize 中创建对象字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SEQUELIZE (nodeJS) 中创建触发器?

如何在 Sequelize 中创建关联

sqlserver中创建一个表对象应该包括哪两个步骤?

javascript中创建日期对象

如何在 Python 中创建对象的副本?

使用在另一个 Swift VC 文件中创建的对象?