使用PostgreSQL的Sequelize保存数组

4

我在我的应用程序中使用sequelize。我有postgres作为底层数据库。

但是当我尝试保存实例时,我收到了以下错误:

[错误:缺少维度值]

我有以下模型:

module.exports = function(sequelize, DataTypes) {
  var Mymodel = sequelize.define('Mymodel', {
        id: {type : DataTypes.INTEGER, autoIncrement : true, primaryKey: true},
        title: {
          type: DataTypes.STRING(128),
          validate: {
            notNull: true,
            notEmpty: true
          }
        },
        tags: DataTypes.ARRAY(DataTypes.TEXT)
      });
  return Mymodel;
}

我正在发送HTTP POST请求,代码如下:

{
"title":"Test challenge",
  "tags" : "['JAVA','REST','API']"
}

我正在这样保存对象

Mymodel.create(model).success(function(model) {
    callback(null, challenge);
  }).error(function(err) {
    callback(err, null);
  });
1个回答

3

我按照你说的尝试发送模型对象,但是出现了错误 SequelizeValidationError: "['JAVA','REST','API']" is not a valid array。也许在旧版本的Sequelize中会有不同的错误。然后,我确保tags的值是JavaScript数组而不是字符串,这样就可以正常工作了。

Mymodel.create({ 
  title: 'Test challenge', 
  tags: ['JAVA','REST','API']
}).then(function() {});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接