如何从mongoose中的实例方法访问静态方法?

时间:2013-01-11 11:44:39

标签: static mongoose instance

如何从mongoose中的实例方法访问静态方法?

我有一个名为Job的工作模型。从实例方法job.start我想调用静态方法Job.someStatic()。如何从实例方法中的“this”获取对Job的引用?

感谢

2 个答案:

答案 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()