我知道您可以在模式上定义方法和静态
var schema = new mongoose.Schema({});
schema.methods.fn = function(){}
但是在您从模式创建模型之后是否可能?
var model = mongoose.model(schema);
我试过了
model.schema.methods.fn2 = function(){};
但它不起作用。
我想在运行时添加某些方法,因为在运行时唯一重要的是模型,而不是架构,我想知道您是否可以继续以某种方式动态地向模型的内部架构添加方法?
最佳答案
是的,您可以像添加任何其他 javascript 类一样向 Mongoose 模型添加方法。
var Person = mongoose.model('Person', PersonSchema);
Person.prototype.myMethod = function() {
console.log(this.toString());
}
var bob = new Person({
name: 'Bob'
});
myModel.myMethod();
请注意,像这样将 javascript 类大写是一个很好的惯例,它让读者清楚地知道它是一个构造函数,应该用 new
调用。
关于javascript - mongoose - 是否可以在运行时动态地向模型添加方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30269420/