2013-01-11 19 views

Odpowiedz

21

Jedynym sposobem znalazłem to zrobić ogólnie (bez prostu dzwoniąc Job.someStatic()) jest:

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

Aktualizacja dzięki @ numbers1311407:

i don” Jeśli wiesz, że zawsze tak było, ale przynajmniej od wersji Mongoose 3.6.11 możesz to skrócić do:

this.constructor.someStatic(); 

Mongoose 4.x Aktualizacja

ten nadal działa w 4.4.12.

+0

oh, to brzydkie dla ... Ale oto, co robię: kiedy tworzę modele, ustalam metodę na samym modelu. (Job.abc = function() {}) Myślę, że to jest statyczne. Czy istnieje jakiś inny sposób przekazania funkcji instancji? –

+0

Dlaczego nie dodajesz tej funkcji do "statics" schematu? – JohnnyHK

+0

Nie mam dostępu do tego statycznego. Ale twoja metoda działa też. Chciałbym czegoś krótszego sintax, ale mogę z tym żyć. Jeśli przychodzi ci na myśl coś bardziej zwartego, cieszę się, że słyszę –