我如何在mysql Sequelize实例中拥有数组的数据类型?

joh*_*mac 4 mysql arrays sequelize.js

我正在构建一个使用Node/Express和MySQL和Sequelize作为ORM的应用程序.我希望有一个数据类型的数组,但续集文档说这仅限于postgres.

基本上,如果我有一个有3列的用户表(例如,name,phone,favColors),我希望favColors填充从用户检索的字符串值数组.我怎样才能做到这一点?

Ada*_*dam 11

您可以使用getter/setter函数:

favColors: {
    type: Sequelize.STRING,
    allowNull: false,
    get() {
        return this.getDataValue('favColors').split(';')
    },
    set(val) {
       this.setDataValue('favColors',val.join(';'));
    },
}
Run Code Online (Sandbox Code Playgroud)

更多信息:http://docs.sequelizejs.com/en/latest/docs/models-definition/#getters-setters


小智 5

您可以将您的字段定义为json

type: Sequelize.JSON
Run Code Online (Sandbox Code Playgroud)

然后将数据另存为 array

  • 我想实现这个想法,但 vsCode 的智能感知建议它仅适用于 postgreSQL。所以我什至没有尝试过 (3认同)