【发布时间】:2020-12-18 23:11:36
【问题描述】:
我正在尝试使用 Go 通过 HTTP 实现 MongoDB 事务 API 服务
客户端发送请求到:/db/transaction/begin
获取交易 ID
为了将所有后续与事务相关的 CRUD 操作 API 请求与该事务 ID 绑定
最后客户端要么向/db/transaction/{transaction_id}/commit发送请求
或/db/transaction/{transaction_id}/rollback
(有点类似于 Firestore 事务)
我能够使用 ArangoDB 实现这种行为,因为它的 Go Driver 允许我设置每个 CRUD 操作的事务 ID (https://godoc.org/github.com/arangodb/go-driver#WithTransactionID)
但不幸的是,我无法使用官方的 MongoDB Go 驱动程序实现这一目标
我错过了什么吗? 是否有解决方法或任何自定义实现可以帮助我?
提前致谢
【问题讨论】:
标签: mongodb go transactions atomic