You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Sequelize中将模型列的类型以字符串形式返回?

获取Sequelize模型列的字符串类型标识

要拿到INTEGER这类字符串形式的类型标识,直接访问类型对象的key属性即可,这是Sequelize内置的标准属性,用来存储类型的字符串标识。

示例代码

假设你的模型定义如下:

const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('sqlite::memory:');

const Book = sequelize.define('Book', {
  id: {
    type: DataTypes.INTEGER,
    primaryKey: true,
    autoIncrement: true
  },
  title: {
    type: DataTypes.STRING(255)
  },
  publishDate: {
    type: DataTypes.DATE
  }
});

获取列类型标识的代码:

// 获取id列的类型
const idType = Book.getAttributes().id.type.key;
console.log(idType); // 输出: INTEGER

// 获取title列的类型
const titleType = Book.getAttributes().title.type.key;
console.log(titleType); // 输出: STRING

// 获取publishDate列的类型
const dateType = Book.getAttributes().publishDate.type.key;
console.log(dateType); // 输出: DATE

兼容旧版本Sequelize

如果你的Sequelize版本较旧(v5及以前),key属性可能不存在,此时可以通过constructor.name获取:

const idType = Book.getAttributes().id.type.constructor.name;
console.log(idType); // 输出: INTEGER

内容的提问来源于stack exchange,提问作者gr_new

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 03:07:10