Defined in: packages/query-db-collection/src/query.ts:95
Configuration options for creating a Query Collection
T extends object = object
The explicit type of items stored in the collection
TQueryFn extends (context) => any = (context) => any
The queryFn type
TError = unknown
The type of errors that can occur during queries
TQueryKey extends QueryKey = QueryKey
The type of the query key
TKey extends string | number = string | number
The type of the item keys
TSchema extends StandardSchemaV1 = never
The schema type for validation
TQueryData = Awaited<ReturnType<TQueryFn>>
optional enabled: Enabled<TQueryData, TError, TQueryData, TQueryKey>;optional enabled: Enabled<TQueryData, TError, TQueryData, TQueryKey>;Defined in: packages/query-db-collection/src/query.ts:124
Whether the query should automatically run (default: true)
optional gcTime: number;optional gcTime: number;Defined in: packages/query-db-collection/src/query.ts:159
Time in milliseconds after which the collection will be garbage collected when it has no active subscribers. Defaults to 5 minutes (300000ms).
BaseCollectionConfig.gcTimeBaseCollectionConfig.gcTimeoptional meta: Record<string, unknown>;optional meta: Record<string, unknown>;Defined in: packages/query-db-collection/src/query.ts:216
Metadata to pass to the query. Available in queryFn via context.meta
// 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}`
}// 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}`
}optional networkMode: NetworkMode;optional networkMode: NetworkMode;Defined in: packages/query-db-collection/src/query.ts:187
optional persistedGcTime: number;optional persistedGcTime: number;Defined in: packages/query-db-collection/src/query.ts:194
queryClient: QueryClient;queryClient: QueryClient;Defined in: packages/query-db-collection/src/query.ts:120
The TanStack Query client instance
queryFn: TQueryFn extends (context) => any[] | Promise<any[]> ? (context) => T[] | Promise<T[]> : TQueryFn;queryFn: TQueryFn extends (context) => any[] | Promise<any[]> ? (context) => T[] | Promise<T[]> : TQueryFn;Defined in: packages/query-db-collection/src/query.ts:109
Function that fetches data from the server. Must return the complete collection state
queryKey: TQueryKey | TQueryKeyBuilder<TQueryKey>;queryKey: TQueryKey | TQueryKeyBuilder<TQueryKey>;Defined in: packages/query-db-collection/src/query.ts:107
The query key used by TanStack Query to identify this query
optional refetchInterval: number | false | (query) => number | false | undefined;optional refetchInterval: number | false | (query) => number | false | undefined;Defined in: packages/query-db-collection/src/query.ts:131
optional refetchOnMount: boolean | "always" | (query) => boolean | "always";optional refetchOnMount: boolean | "always" | (query) => boolean | "always";Defined in: packages/query-db-collection/src/query.ts:180
optional refetchOnReconnect: boolean | "always" | (query) => boolean | "always";optional refetchOnReconnect: boolean | "always" | (query) => boolean | "always";Defined in: packages/query-db-collection/src/query.ts:173
optional refetchOnWindowFocus: boolean | "always" | (query) => boolean | "always";optional refetchOnWindowFocus: boolean | "always" | (query) => boolean | "always";Defined in: packages/query-db-collection/src/query.ts:166
optional retry: RetryValue<TError>;optional retry: RetryValue<TError>;Defined in: packages/query-db-collection/src/query.ts:138
optional retryDelay: RetryDelayValue<TError>;optional retryDelay: RetryDelayValue<TError>;Defined in: packages/query-db-collection/src/query.ts:145
optional select: (data) => T[];optional select: (data) => T[];Defined in: packages/query-db-collection/src/query.ts:118
Extracts the row array TanStack DB materializes from the Query response. The Query cache keeps the original response shape.
TQueryData
T[]
optional staleTime: StaleTimeFunction<TQueryData, TError, TQueryData, TQueryKey>;optional staleTime: StaleTimeFunction<TQueryData, TError, TQueryData, TQueryKey>;Defined in: packages/query-db-collection/src/query.ts:152