Multi-collection transactions with optimistic concurrency control.
# Python example
tx = db.begin_transaction()
db.tx_insert(tx, "accounts", {"id": "A", "balance": 1000})
db.tx_update(tx, "accounts", {"id": "B"}, {"$inc": {"balance": -500}})
db.tx_update(tx, "accounts", {"id": "A"}, {"$inc": {"balance": 500}})
db.commit_transaction(tx) # atomic commit or rollback on conflict
| Method | Description |
|---|---|
begin_transaction() | Start a new transaction, returns transaction ID |
tx_insert(tx, col, doc) | Buffered insert |
tx_find(tx, col, query) | Read with snapshot isolation |
tx_update(tx, col, query, update) | Buffered update |
tx_delete(tx, col, query) | Buffered delete |
commit_transaction(tx) | Validate and commit atomically |
rollback_transaction(tx) | Discard all buffered changes |