使用postgresql保存数组的sequelize

时间:2014-08-30 11:34:00

标签: javascript node.js postgresql sequelize.js

我在我的应用程序中使用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 个答案:

答案 0 :(得分:1)

我尝试按照您的说法发送您的模型对象,但确实收到错误SequelizeValidationError: "['JAVA','REST','API']" is not a valid array。也许你在旧版Sequelize上遇到了不同的错误。然后,我确保tags值是JavaScript数组而不是字符串,并且它起作用。

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