鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)  HTML/ sequelizejs模型定義和模型使用中,字段返回問(wèn)題

sequelizejs模型定義和模型使用中,字段返回問(wèn)題

在使用sequelizejs過(guò)程中,我發(fā)現(xiàn)我在模型定義過(guò)程中,凡事涉及到使用虛擬字段或者字段使用了get()后,在接下來(lái)模型使用中用attributes或者exclude都去除不了該字段,如一下截圖所示。

模型定義

lnglat: {
      field: 'lnglat',
      type: DataTypes.STRING(32),
      allowNull: true,
      get() {
        let lnglat = String(this.getDataValue('lnglat')).split(',');
        lnglat = [ Number(lnglat[ 0 ]), Number(lnglat[ 1 ]) ];
        return lnglat;
      }
    },
    count: {
      type: DataTypes.VIRTUAL,
      get() {
        return 0
      }
    },

clipboard.png

模型使用(去除了lnglat和count字段,但是生產(chǎn)的sql和最后的結(jié)果中都存在該字段)

order: [
        [ 'createdAt', 'desc' ]
      ],
      attributes: [ 'id', 'name', 'address',  'foundDate'],
      // attributes: {
      //   exclude: [ 'lnglat', 'count' ]
      // },

clipboard.png

返回結(jié)果

clipboard.png

遇到這種情況有點(diǎn)不知所措,感覺(jué)是我使用的問(wèn)題,求大佬賜教。

回答
編輯回答
祈歡
get() {
     if (this.getDataValue('count')) {   //判斷的含義是調(diào)用這個(gè)字段才會(huì)返回結(jié)果
          return 0
     }
}
2018年2月15日 20:03