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

时间:2017-01-25 20:11:37

标签: mysql arrays sequelize.js

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

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

2 个答案:

答案 0 :(得分:8)

您可以使用getter / setter函数:

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

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

答案 1 :(得分:2)

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

type: Sequelize.JSON

然后将数据保存为array