2013-01-11 5 views

Antwort

21

Der einzige Weg, die ich gefunden habe, dass allgemein tun (ohne Job.someStatic() nur anrufen) ist:

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

aktualisieren dank @ numbers1311407:

I don‘ Ich weiß, wenn es immer der Fall war, aber ab mindestens Mongoose 3.6.11, können Sie dies verkürzen:

this.constructor.someStatic(); 

Mongoose 4.x-Update

Diese noch in 4.4.12 funktioniert.

+0

oh, das ist hässlich zu ... Aber hier ist, was ich tue: wenn ich die Modelle erstelle, stelle ich eine Methode auf das Modell selbst. (Job.abc = function() {}) Ich denke das ist statisch. Gibt es eine andere Möglichkeit, eine Funktion an eine Instanz zu übergeben? –

+0

Warum fügen Sie diese Funktion nicht stattdessen der Statik des Schemas hinzu? – JohnnyHK

+0

Ich habe keinen Zugriff auf diese statische. Aber deine Methode funktioniert auch. Ich hätte gerne etwas kürzeres Stethoskop, aber ich kann damit leben. Wenn Sie sich etwas Kompakteres einfallen lassen, bin ich froh zu hören: –

Verwandte Themen