如何将本地方法添加到Model 实例?换句话说,模型实例上的一个方法将由服务器执行,而不是通过其余接口公开。
我希望能够在服务器上执行的操作:
Person.findById(1, (err, person) => {
let b = person.customFunction();
});
但我不希望customFunction
暴露在其余界面上。
我知道你可以在这样的模型上创建一个远程方法:
module.exports = function(Person){
Person.greet = function(msg, cb) {
cb(null, 'Greetings... ' + msg);
}
Person.remoteMethod(
'greet',
{
accepts: {arg: 'msg', type: 'string'},
returns: {arg: 'greeting', type: 'string'}
}
);
};
我知道如果你不再调用Person.remoteMethod()
,你将为Model类本身添加一个仅服务器的方法,但这不是我想要的。
答案 0 :(得分:0)
这很简单,您只需使用Javascript的原型功能。在Person.js中,只需添加:
Person.prototype.customFunction = function() {
console.log('my custom code');
};
然后,提供person
个实例,您可以致电:
person.customFunction();