module.exports=db.define('dnt_topics',{
tid:{
type:Sequelize.INTEGER,
field:'tid',
primarykey:true,
autoIncrement:false,
},
创建的model中有tid主键,但是在查询时,会默认被加上一个id的是怎么回事?
从命令行的调试信息中看到自动加了一列(id),但是实际的数据库中是不存在id这一列的。
主键定义 Primary keys
Sequelize 默认表有一个为id 主键属性.
如想定义自己的主键也很简单:
sequelize.define('collection', {
uid: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true // 对postgres来说会自动转为 SERIAL
}
});
sequelize.define('collection', {
uuid: {
type: Sequelize.UUID,
primaryKey: true
}
});
如果您的模型里根本就没有主键的话, 也可能用 Model.removeAttribute('id') 来去掉!
参考官方文档 :
http://docs.sequelizejs.com/manual/advanced/legacy.html#primary-keys