15

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

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

谢谢

4

2 回答 2

31

我发现这样做的唯一方法(不只是调用Job.someStatic())是:

this.model(this.constructor.modelName).someStatic();

感谢@numbers1311407更新:

我不知道是否一直如此,但至少从 Mongoose 3.6.11 开始,您可以将其缩短为:

this.constructor.someStatic();

猫鼬 4.x 更新

这在 4.4.12 中仍然有效。

于 2013-01-11T13:38:38.067 回答
1

访问静态的另一个选项是:

this.schema.statics.someStatic()
于 2019-01-06T18:34:52.867 回答