Standardmäßig werden die alten Werte nicht gespeichert. Sie müssen die alten Daten mit einem Post-Init-Hook (einer Mungo-Funktion) verfolgen.
Was wir tun, ist eine Kopie des Originaldokuments an alle aus MongoDB gezogenen Objekte anzuhängen. Wir haben diesen Code für jedes Schema, das wir benötigen, um vordirekte Daten für den Vergleich zu erhalten:
%Vor%NodeJS ist ziemlich effizient und kopiert beim Schreiben, wenn möglich, so dass Sie den doppelten Speicherverbrauch nicht sehen, es sei denn, Sie modifizieren das gesamte Dokument. Nur dann verbraucht _original tatsächlich den doppelten Speicher.
Also in einem Pre-Speichern Haken, von dem, was ich sagen kann, indem Sie diesen Abschnitt lesen des Quellcodes glaube ich nicht, dass der vorherige Wert irgendwo gespeichert wird. Also müssen Sie das Dokument von mongodb laden, um es zu bekommen.
Sie können jedoch den virtuals
-Mechanismus anstelle eines Vorspeichern-Hooks verwenden, um den alten Wert zu speichern, bevor Sie ihn auf den neuen Wert ändern.
Experimentieren Sie mit etwas in dieser Richtung und schauen Sie, ob Sie etwas angemessen machen können.