How to access a static method from a instance meth

2019-03-18 13:24发布

How to access a static method from a instance method in mongoose?

I have a job model named Job. From a instance method job.start I want to call the static method Job.someStatic(). How do I get the reference to the Job, from the "this" in the instance method?

thanks

2条回答
Animai°情兽
2楼-- · 2019-03-18 13:37

Another option to access statics is:

this.schema.statics.someStatic()
查看更多
beautiful°
3楼-- · 2019-03-18 13:44

The only way I've found to do that generically (without just calling Job.someStatic()) is:

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

Update thanks to @numbers1311407:

I don't know if it's always been the case, but as of at least Mongoose 3.6.11, you can shorten this to:

this.constructor.someStatic();

Mongoose 4.x Update

This still works in 4.4.12.

查看更多
登录 后发表回答