请问mongodb如何进行事务处理?
网友回复
我以php为例,通过startSession来开启一个连接会话,然后通过startTransaction,commitTransaction,abortTransaction来开启事务、提交事务或回滚事务。代码如下:
<?php $connection = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017"); $session = $connection->startSession(); try { $session->startTransaction(); $bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]); $bulk->insert(['x' => 1]); $bulk->insert(['x' => 2]); $bulk->insert(['x' => 3]); $result = $connection->executeBulkWrite('db.users', $bulk, ['session' => $session]); $session->commitTransaction(); }catch(Exception $e) { $session->abortTransaction(); var_dump($e->getMessage()); }