使用Node和Sequelize,是否可以定义一个使用camelCase作为属性的模型,但是在转换为json时使用下划线/ snake case?
目前;
var User = seq.define('user', {
id: {
type: Sequelize.INTEGER,
primaryKey: true
},
shortLivedToken: {
type: Sequelize.STRING,
field: 'short_lived_token'
},
longLivedToken: {
type: Sequelize.STRING,
field: 'long_lived_token'
}
}, {
underscored: true,
underscoredAll: true,
});
调用response.json(user)
{
"id": null,
"shortLivedToken": "abcde",
"longLivedToken": "fghji",
"updated_at": "2015-11-21T18:32:20.181Z",
"created_at": "2015-11-21T18:32:20.181Z"
}
我希望它是
{
"id": null,
"short_lived_token": "abcde",
"long_lived_token": "fghij",
"updated_at": "2015-11-21T18:32:20.181Z",
"created_at": "2015-11-21T18:32:20.181Z"
}
有什么想法吗?
答案 0 :(得分:2)
不可能。属性名称用于获取值toJSON 使用获取值的方法。覆盖toJSON或不使用camel 套用属性名称。