gpt4 book ai didi

javascript - mongoose - 是否可以在运行时动态地向模型添加方法?

转载 作者:搜寻专家 更新时间:2023-11-01 00:24:01 24 4
gpt4 key购买 nike

我知道您可以在模式上定义方法和静态

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com