我如何获得续集模型的主键?

时间:2015-09-04 19:05:40

标签: sequelize.js

基本上,给定一个实例或模型,我想 a)知道是否存在主键 b)知道该字段的名称

3 个答案:

答案 0 :(得分:6)

感谢Soheil Jadidian的评论;以下代码段返回找到的主键数组。因此,它也适用于复合键。

Model.describe().then(function (schema) {
    return Object.keys(schema).filter(function(field){
        return schema[field].primaryKey;
    });
}).tap(console.log);

答案 1 :(得分:4)

看一下Model.primaryKeyAttributes,它是主键属性的字符串名称数组:

console.dir(Model.primaryKeyAttributes);

[ 'id' ]

答案 2 :(得分:3)

  • Model.primaryKeyAttributes - 名称数组
  • Model.primaryKeys - 包含所有数据的对象