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

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

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

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

【问题讨论】:

    标签: node.js database postgresql orm sequelize.js


    【解决方案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 已经提到的那样
    猜你喜欢
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2021-11-24
    相关资源
    最近更新 更多