MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Esempio di transazione in MongoDB 4.0 utilizzando PHP

Se stai utilizzando la libreria PHP che esegue il wrapping del driver, dopo aver creato un'istanza di Client per esempio. chiamato $client , puoi fare quanto segue:

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

Sfortunatamente non sono riuscito a trovare alcuna documentazione pertinente nel riferimento alla libreria PHP dopo una ricerca superficiale, ma ho trovato esempi nei problemi della libreria PHP ciò suggerisce che la creazione di una sessione dal client e l'utilizzo di tale sessione per iniziare, quindi eseguire il commit o l'interruzione della transazione è la procedura appropriata.

Tuttavia, un paio di cose da tenere a mente:

Se visualizzi i documenti MongoDB (come collegato sopra) noterai che il requisito per un set di repliche da utilizzare non è visualizzato in modo particolarmente evidente, essendo nella terza intestazione e dopo tutto il codice di esempio (che, se sei come me, sarà la prima cosa che cercherai).