File: createTransaction.md | Updated: 11/15/2025
Search...
+ K
Auto
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide
Documentation
Framework
React
Version
Latest
Search...
+ K
Menu
Getting Started
Guides
Collections
Frameworks
Community
API Reference
Framework
React
Version
Latest
Menu
Getting Started
Guides
Collections
Frameworks
Community
API Reference
On this page
Copy Markdown
Function: createTransaction()
=============================
ts
function createTransaction<T>(config): Transaction<T>;
function createTransaction<T>(config): Transaction<T>;
Defined in: packages/db/src/transactions.ts:156
Creates a new transaction for grouping multiple collection operations
Type Parameters
---------------
### T
T extends object = Record<string, unknown>
Parameters
----------
### config
Transaction configuration with mutation function
Transaction <T>
A new Transaction instance
ts
// Basic transaction usage
const tx = createTransaction({
mutationFn: async ({ transaction }) => {
// Send all mutations to API
await api.saveChanges(transaction.mutations)
}
})
tx.mutate(() => {
collection.insert({ id: "1", text: "Buy milk" })
collection.update("2", draft => { draft.completed = true })
})
await tx.isPersisted.promise
// Basic transaction usage
const tx = createTransaction({
mutationFn: async ({ transaction }) => {
// Send all mutations to API
await api.saveChanges(transaction.mutations)
}
})
tx.mutate(() => {
collection.insert({ id: "1", text: "Buy milk" })
collection.update("2", draft => { draft.completed = true })
})
await tx.isPersisted.promise
ts
// Handle transaction errors
try {
const tx = createTransaction({
mutationFn: async () => { throw new Error("API failed") }
})
tx.mutate(() => {
collection.insert({ id: "1", text: "New item" })
})
await tx.isPersisted.promise
} catch (error) {
console.log('Transaction failed:', error)
}
// Handle transaction errors
try {
const tx = createTransaction({
mutationFn: async () => { throw new Error("API failed") }
})
tx.mutate(() => {
collection.insert({ id: "1", text: "New item" })
})
await tx.isPersisted.promise
} catch (error) {
console.log('Transaction failed:', error)
}
ts
// Manual commit control
const tx = createTransaction({
autoCommit: false,
mutationFn: async () => {
// API call
}
})
tx.mutate(() => {
collection.insert({ id: "1", text: "Item" })
})
// Commit later
await tx.commit()
// Manual commit control
const tx = createTransaction({
autoCommit: false,
mutationFn: async () => {
// API call
}
})
tx.mutate(() => {
collection.insert({ id: "1", text: "Item" })
})
// Commit later
await tx.commit()
