pccomponentes/mongodb-transaction
Composer 安装命令:
composer require pccomponentes/mongodb-transaction
包简介
MongoDB Transaction
README 文档
README
The problem
The way to use transactions in MongoDB differs from a typical relational database connection (MySQL, PostgreSQL, etc).
In MongoDB a session is generated and all operations must be associated to that session.
That means that for any write anywhere in the code you would have to send the session associated with the transaction to MongoDB.
The solution
It has been extended the Client, Collection and Database classes. Can generate a session and pass it to each class to control transactions from the beginning.
Usage
Instead of instantiating the original \MongoDB\Client, instantiate the PcComponentes\Transaction\Driver\MongoDB\Client class.
<?php $client = new PcComponentes\Transaction\Driver\MongoDB\Client($uri); try { $client->beginTransaction(); //... $client->commit(); } catch (\Throwable $exception) { $client->rollBack(); }
Or you can use Transaction Middleware:
<?php $middleware = new PcComponentes\Transaction\SymfonyMessenger\TransactionMiddleware( new PcComponentes\Transaction\Driver\MongoDB\MongoDBTransactionalConnection( new PcComponentes\Transaction\Driver\MongoDB\Client($uri) ) );
统计信息
- 总下载量: 793
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-02-17