'this' ist in einem Mongoose pre save hook nicht definiert [duplizieren]

8

Ich habe ein Mongoose-Datenbankschema für eine User-Entität erstellt und möchte das aktuelle Datum in einem updated_at -Feld hinzufügen. Ich versuche den .pre('save', function() {}) Callback zu verwenden, aber jedes Mal, wenn ich ihn starte, erhalte ich die Fehlermeldung, dass this undefined ist. Ich habe mich auch für die Verwendung von ES6 entschieden, was ein Grund dafür sein könnte (alles funktioniert). Mein Mungo / Node ES6-Code ist unten:

%Vor%

Die Fehlermeldung lautet:

%Vor%

BEARBEITEN: Dies wurde mit der @ vbranden-Antwort behoben und von einer lexikalischen Funktion zu einer Standardfunktion geändert. Allerdings hatte ich dann ein Problem, bei dem der Fehler nicht mehr angezeigt wurde, aber das Feld updated_at im Objekt nicht aktualisiert wurde. Ich habe das behoben, indem ich this.updated_at = currentDate.now in this.updated_at = currentDate geändert habe.

    
Tom Oakley 21.05.2016, 15:50
quelle

1 Antwort

31

Das Problem ist, dass Ihre Pfeilfunktion lexikalisch Ссылка

ändern

%Vor%

bis

%Vor%     
vbranden 21.05.2016, 15:54
quelle