如何从mongoose中的实例方法访问静态方法?
我有一个名为Job的工作模型。从实例方法job.start我想调用静态方法Job.someStatic()。如何从实例方法中的“this”获取对Job的引用?
感谢
答案 0 :(得分:25)
我发现这种做法的唯一方法(不仅仅是调用Job.someStatic()
)是:
this.model(this.constructor.modelName).someStatic();
更新,感谢@ numbers1311407:
我不知道是否一直如此,但至少从Mongoose 3.6.11开始,你可以将其缩短为:
this.constructor.someStatic();
Mongoose 4.x更新
这仍然适用于4.4.12。
答案 1 :(得分:0)
访问静态变量的另一个选项是:
this.schema.statics.someStatic()