Serialisierung "Isolationsstufe" in MongoDB oder das Problem mit dem verlorenen Update

8

Ich verstehe, dass MongoDB eine NoSQL-Lösung ist, aber ich habe mich gefragt, ob es eine Art von Transaktionsisolationsstufe auf Serialisierungsebene hat.

Wenn nicht, wie würden Sie das Problem mit dem verlorenen Update in MongoDB lösen?

Ich möchte den Revisionsverlauf einiger Daten in Mongo behalten und jede Revision muss auf den vorherigen verweisen. Wie kann ich sicherstellen, dass nicht mehr als eine letzte Revision für meine Daten existiert und dass andererseits keine Revision aufgrund gleichzeitiger Aktualisierungen verloren geht?

** Bearbeiten **

Hoppla, RTFM, es ist tatsächlich möglich: Ссылка

Ich bin mir nicht sicher, ob ich die Frage schließen sollte, da das Wissen für andere Menschen relevant sein könnte.

    
Assaf Lavie 20.05.2011, 15:56
quelle

1 Antwort

6

Ja, das ist möglich, solange Sie die Historie in einem einzigen Dokument behalten. MongoDB unterstützt atomare Updates im Rahmen eines Dokuments, aber nicht für mehrere Dokumente in einer Sammlung.

So könnten Sie den Verlauf in ein Array einbetten, indem Sie ein Schema verwenden, das ungefähr so ​​aussieht:

%Vor%

Sie könnten beispielsweise ein neues Dokument einfügen:

%Vor%

Aktualisieren Sie es dann in einer atomaren Operation:

%Vor%     
Chris Fulstow 21.05.2011, 00:45
quelle

Tags und Links