我正在使用Node + Postgres应用程序,并且我在使用Sequelize模型模式设置DataType.ARRAY时遇到问题。Sequelize-Postgres错误:values.map不是函数
这里是我的模型模式,
var ArtistRoles = sequelize.define('ArtistRoles', {
id:{
primaryKey: true,
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV1
},
name:{
type: DataTypes.STRING,
allowNull: false
},
tags: {
type: DataTypes.ARRAY(DataTypes.STRING),
defaultValue: []
}
},{
hooks:{
beforeCreate: function (role, options) {
//role.tags = JSON.stringify(role.tags);
console.log(role.tags);
}
},
classMethods: {
associate: function (models) {
// add relations model relations here
//ArtistRoles.belongsTo(models.Artists);
}
}
});
我用邮差测试API,这里是我如何POST数据到服务器, 这里是节点控制台上的错误跟踪。
TypeError: values.map is not a function
at ARRAY.BaseTypes.ARRAY.$stringify (~/PROJECTS/my-api/node_modules/sequelize/lib/dialects/postgres/data-types.js:385:33)
at ARRAY.ABSTRACT.stringify (~/PROJECTS/my-api/node_modules/sequelize/lib/data-types.js:77:17)
at Object.escape (~/PROJECTS/my-api/node_modules/sequelize/lib/dialects/abstract/query-generator.js:967:32)
at Object.insertQuery (~/PROJECTS/my-api/node_modules/sequelize/lib/dialects/abstract/query-generator.js:299:28)
at QueryInterface.insert (~/PROJECTS/my-api/node_modules/sequelize/lib/query-interface.js:497:33)
at .<anonymous> (~/PROJECTS/my-api/node_modules/sequelize/lib/instance.js:672:56)
at tryCatcher (~/PROJECTS/my-api/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (~/PROJECTS/my-api/node_modules/bluebird/js/release/promise.js:510:31)
at Promise._settlePromise (~/PROJECTS/my-api/node_modules/bluebird/js/release/promise.js:567:18)
at Promise._settlePromise0 (~/PROJECTS/my-api/node_modules/bluebird/js/release/promise.js:612:10)
at Promise._settlePromises (~/PROJECTS/my-api/node_modules/bluebird/js/release/promise.js:691:18)
at Async._drainQueue (~/PROJECTS/my-api/node_modules/bluebird/js/release/async.js:138:16)
at Async._drainQueues (~/PROJECTS/my-api/node_modules/bluebird/js/release/async.js:148:10)
at Immediate.Async.drainQueues (~/PROJECTS/my-api/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:637:20)
at tryOnImmediate (timers.js:610:5)
POST /api/1.0/role 500 46.114 ms - 45
可能是什么原因?请帮忙。
你能分享你的'data-types.js'吗?或至少有一些线385线? –