簡體   English   中英

Sequelize - 如何列出/查看現有模型的所有列

[英]Sequelize - How to list/view all columns of existing model

我知道一個簡單的答案可能是返回所有屬性的查詢表。

但是,由於模型是在代碼中定義的,我想知道是否可以在不查詢數據庫的情況下獲得結果? 或者,如果需要查詢,哪個查詢是優化的查詢?

順便說一句,我正在使用Sequelize V5Mysql 5.7

您可以迭代模型的 rawAtributes

for( let key in Model.rawAttributes ){
    console.log('Field: ', key); // this is name of the field
    console.log('TypeField: ', Model.rawAttributes[key].type.key); // Sequelize type of field
}

aditionaly 你在這個 Model.rawAttributes 中有很多信息,用Object.keys(Model.rawAttributes)檢查它,然后看到這些值

似乎每個模型都有一個屬性“rawAttributes”,其中包括所有列名稱。 這可能不是官方的方式,但它可以解決我的問題。

您也可以將其用作答案:

for( let key of Object.keys(models.Modelname.attributes))   {
      columns.push({
          name:key,
          type:models.Modelname.attributes[key].type.key
      });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM