- Core API Reference
- Collection
- createCollection
- liveQueryCollectionOptions
- createLiveQueryCollection
- createOptimisticAction
- createTransaction
- Electric DB Collection
- electricCollectionOptions
- Query DB Collection
- queryCollectionOptions
- RxDB DB Collection
- rxdbCollectionOptions
- PowerSync Collection
- powerSyncCollectionOptions
- createIndexedDB
- indexedDBCollectionOptions
- React Hooks
- useLiveQuery
QueryCollectionConfig
Defined in: packages/query-db-collection/src/query.ts:117
Configuration options for creating a Query Collection
Extends#
- BaseCollectionConfig<T, TKey, TSchema, QueryCollectionUtils<T, TKey, [TSchema] extends [never] ? T : InferSchemaInput<TSchema>, TError>>
Type Parameters#
T#
T extends object = object
The explicit type of items stored in the collection
TQueryFn#
TQueryFn extends (context) => any = (context) => any
The queryFn type
TError#
TError = unknown
The type of errors that can occur during queries
TQueryKey#
TQueryKey extends QueryKey = QueryKey
The type of the query key
TKey#
TKey extends string | number = string | number
The type of the item keys
TSchema#
TSchema extends StandardSchemaV1 = never
The schema type for validation
TQueryData#
TQueryData = Awaited<ReturnType<TQueryFn>>
Properties#
enabled?#
optional enabled: Enabled<TQueryData, TError, TQueryData, TQueryKey>;Defined in: packages/query-db-collection/src/query.ts:156
Whether the query should automatically run (default: true)
gcTime?#
optional gcTime: number;Defined in: packages/query-db-collection/src/query.ts:191
Time in milliseconds after which the collection will be garbage collected when it has no active subscribers. Defaults to 5 minutes (300000ms). Sync started without subscribers gets a minimum 50ms grace period. Pending preloads retain the collection until they settle. Preloading ready data refreshes the retention period. A non-positive or non-finite value disables automatic garbage collection.
Overrides#
BaseCollectionConfig.gcTimeinitialData?#
optional initialData: TQueryData | InitialDataFunction<TQueryData>;Defined in: packages/query-db-collection/src/query.ts:231
Data used to initialize the TanStack Query cache for an eager collection. The value has the original Query response shape and is projected through the collection's select option before rows are materialized.
initialDataUpdatedAt?#
optional initialDataUpdatedAt: number | () => number | undefined;Defined in: packages/query-db-collection/src/query.ts:239
The timestamp TanStack Query uses to determine initialData freshness.
meta?#
optional meta: Record<string, unknown>;Defined in: packages/query-db-collection/src/query.ts:268
Metadata to pass to the query. Available in queryFn via context.meta
Example#
// Using meta for error context
queryFn: async (context) => {
try {
return await api.getTodos(userId)
} catch (error) {
// Use meta for better error messages
throw new Error(
context.meta?.errorMessage || 'Failed to load todos'
)
}
},
meta: {
errorMessage: `Failed to load todos for user ${userId}`
}networkMode?#
optional networkMode: NetworkMode;Defined in: packages/query-db-collection/src/query.ts:219
persistedGcTime?#
optional persistedGcTime: number;Defined in: packages/query-db-collection/src/query.ts:246
queryClient#
queryClient: QueryClient;Defined in: packages/query-db-collection/src/query.ts:152
The TanStack Query client instance
queryFn#
queryFn: TQueryFn extends (context) => any[] | Promise<any[]> ? (context) => T[] | Promise<T[]> : TQueryFn;Defined in: packages/query-db-collection/src/query.ts:141
Function that fetches data from the server. Must return the complete collection state
queryKey#
queryKey: TQueryKey | TQueryKeyBuilder<TQueryKey>;Defined in: packages/query-db-collection/src/query.ts:139
The query key used by TanStack Query to identify this query
refetchInterval?#
optional refetchInterval: number | false | (query) => number | false | undefined;Defined in: packages/query-db-collection/src/query.ts:163
refetchOnMount?#
optional refetchOnMount: boolean | "always" | (query) => boolean | "always";Defined in: packages/query-db-collection/src/query.ts:212
refetchOnReconnect?#
optional refetchOnReconnect: boolean | "always" | (query) => boolean | "always";Defined in: packages/query-db-collection/src/query.ts:205
refetchOnWindowFocus?#
optional refetchOnWindowFocus: boolean | "always" | (query) => boolean | "always";Defined in: packages/query-db-collection/src/query.ts:198
retry?#
optional retry: RetryValue<TError>;Defined in: packages/query-db-collection/src/query.ts:170
retryDelay?#
optional retryDelay: RetryDelayValue<TError>;Defined in: packages/query-db-collection/src/query.ts:177
select()?#
optional select: (data) => T[];Defined in: packages/query-db-collection/src/query.ts:150
Extracts the row array TanStack DB materializes from the Query response. The Query cache keeps the original response shape.
Parameters#
data#
TQueryData
Returns#
T[]
staleTime?#
optional staleTime: StaleTimeFunction<TQueryData, TError, TQueryData, TQueryKey>;Defined in: packages/query-db-collection/src/query.ts:184