File: LiveQueryCollectionConfig.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
Defined in: packages/db/src/query/live/types.ts:53
Configuration interface for live query collection options
typescript
const config: LiveQueryCollectionConfig<any, any> = {
// id is optional - will auto-generate "live-query-1", "live-query-2", etc.
query: (q) => q
.from({ comment: commentsCollection })
.join(
{ user: usersCollection },
({ comment, user }) => eq(comment.user_id, user.id)
)
.where(({ comment }) => eq(comment.active, true))
.select(({ comment, user }) => ({
id: comment.id,
content: comment.content,
authorName: user.name,
})),
// getKey is optional - defaults to using stream key
getKey: (item) => item.id,
}
const config: LiveQueryCollectionConfig<any, any> = {
// id is optional - will auto-generate "live-query-1", "live-query-2", etc.
query: (q) => q
.from({ comment: commentsCollection })
.join(
{ user: usersCollection },
({ comment, user }) => eq(comment.user_id, user.id)
)
.where(({ comment }) => eq(comment.active, true))
.select(({ comment, user }) => ({
id: comment.id,
content: comment.content,
authorName: user.name,
})),
// getKey is optional - defaults to using stream key
getKey: (item) => item.id,
}
Type Parameters
---------------
### TContext
TContext extends Context
TResult extends object = GetResult <TContext> & object
Properties
----------
### defaultStringCollation?
ts
optional defaultStringCollation: StringCollationConfig;
optional defaultStringCollation: StringCollationConfig;
Defined in: packages/db/src/query/live/types.ts:107
Optional compare options for string sorting. If provided, these will be used instead of inheriting from the FROM collection.
ts
optional gcTime: number;
optional gcTime: number;
Defined in: packages/db/src/query/live/types.ts:96
GC time for the collection
ts
optional getKey: (item) => string | number;
optional getKey: (item) => string | number;
Defined in: packages/db/src/query/live/types.ts:74
Function to extract the key from result items If not provided, defaults to using the key from the D2 stream
TResult
string | number
ts
optional id: string;
optional id: string;
Defined in: packages/db/src/query/live/types.ts:61
Unique identifier for the collection If not provided, defaults to live-query-${number} with auto-incrementing number
ts
optional onDelete: DeleteMutationFn<TResult, string | number, UtilsRecord, any>;
optional onDelete: DeleteMutationFn<TResult, string | number, UtilsRecord, any>;
Defined in: packages/db/src/query/live/types.ts:86
ts
optional onInsert: InsertMutationFn<TResult, string | number, UtilsRecord, any>;
optional onInsert: InsertMutationFn<TResult, string | number, UtilsRecord, any>;
Defined in: packages/db/src/query/live/types.ts:84
Optional mutation handlers
ts
optional onUpdate: UpdateMutationFn<TResult, string | number, UtilsRecord, any>;
optional onUpdate: UpdateMutationFn<TResult, string | number, UtilsRecord, any>;
Defined in: packages/db/src/query/live/types.ts:85
ts
query:
| QueryBuilder<TContext>
| (q) => QueryBuilder<TContext>;
query:
| QueryBuilder<TContext>
| (q) => QueryBuilder<TContext>;
Defined in: packages/db/src/query/live/types.ts:66
Query builder function that defines the live query
ts
optional schema: undefined;
optional schema: undefined;
Defined in: packages/db/src/query/live/types.ts:79
Optional schema for validation
ts
optional singleResult: true;
optional singleResult: true;
Defined in: packages/db/src/query/live/types.ts:101
If enabled the collection will return a single object instead of an array
ts
optional startSync: boolean;
optional startSync: boolean;
Defined in: packages/db/src/query/live/types.ts:91
Start sync / the query immediately
