如何将自定义函数添加到Node.JS中的sequelize.js?

例如,我有一个客户端模型。 我想添加新的function“sendEmail”

该function需要工作发送电子邮件给一个客户端,或一次发送电子邮件给许多客户端?

在哪里定义这些function?

像Jan Meier指出的那样使用instanceMethods

在你的客户端示例中:

 // models/Client.js 'use strict'; module.exports = function(sequelize, DataTypes) { return sequelize.define('Client', { first_name: DataTypes.STRING, last_name: DataTypes.STRING, }, { instanceMethods: { getFullName: function() { return this.first_name + ' ' + this.last_name; } } }); }; 

续集版本4改变了这一点,其他解决scheme与instanceMethodsclassMethods不再工作。 请参阅升级到V4 /中断更改

新的做法如下:

 const Model = sequelize.define('Model', { ... }); // Class Method Model.myCustomQuery = function (param, param2) { }; // Instance Method Model.prototype.myCustomSetter = function (param, param2) { } 

我有同样的问题,对我来说,它在classMethods对象中添加方法

 // models/Client.js 'use strict'; module.exports = function(sequelize, DataTypes) { return sequelize.define('Client', { first_name: DataTypes.STRING, last_name: DataTypes.STRING, }, { classMethods: { getFullName: function() { return this.first_name + ' ' + this.last_name; } } }); };