MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Beispiel einer Transaktion in MongoDB 4.0 mit PHP

Wenn Sie die PHP-Bibliothek verwenden, die den Treiber umschließt, nachdem Sie eine Instanz von Client erstellt haben z.B. namens $client , können Sie Folgendes tun:

$session = $client->startSession();
$session->startTransaction();
try {
    // Perform actions.
    $session->commitTransaction();
} catch(Exception $e) {
    $session->abortTransaction();
}

Leider konnte ich in der PHP-Bibliotheksreferenz keine relevante Dokumentation finden nach einer flüchtigen Suche fand ich Beispiele in den Problemen der PHP-Bibliothek die darauf hindeuten, dass das Erstellen einer Sitzung vom Client und das Verwenden dieser Sitzung zum Starten und anschließenden Festschreiben oder Abbrechen der Transaktion das geeignete Verfahren ist.

Ein paar Dinge sollten Sie jedoch beachten:

Wenn Sie sich die MongoDB-Dokumente (wie oben verlinkt) ansehen, werden Sie feststellen, dass die Anforderung, dass ein Replikatsatz verwendet werden muss, nicht besonders deutlich angezeigt wird, da sie unter der dritten Überschrift steht und nach dem ganzen Beispielcode kommt (was, wenn Sie so etwas wie ich sind, wird das erste sein, wonach Sie suchen).