SequelizeJS中的虚拟属性不起作用

我在SequelizeJS中有以下模式:

var moment = require('moment'); module.exports = function(sequelize, DataTypes) { var Account = sequelize.define('Account', { suspended: { type: DataTypes.BOOLEAN, defaultValue: false } }, { getterMethods: { trialDaysLeft: function() { return 5; } }, tableName: 'accounts' }); return Account; }; 

当我打电话给account.trialDaysLeft属性时,我想获得trialDaysLeft。

我正进入(状态

 TypeError: Property 'trialDaysLeft' of object [object Object] is not a function 

我错在哪里?

名称可能不是最直观的,但getterMethods实际上做的是在实例对象上使用getter方法生成属性。

所以在这种情况下,你将需要调用instance.trialDaysLeft而不是instance.trialDaysLeft() (我猜是你在做什么)。