함수: createLiveQueryCollection()
호출 시그니처
function createLiveQueryCollection<TQueryFn, TQuery>(query): CollectionForContext<ExtractContext<TQuery>, RootQueryResult<ExtractContext<TQuery>>, {
}> & object;
정의 위치: packages/db/src/query/live-query-collection.ts:128
라이브 쿼리 컬렉션을 직접 생성합니다
타입 매개변수
TQueryFn
TQueryFn 확장 (q) => QueryBuilder<any>
TQuery
TQuery 확장 QueryBuilder<any> = ReturnType<TQueryFn>
매개변수
query
TQueryFn & RootQueryFn<TQuery>
반환값
CollectionForContext<ExtractContext<TQuery>, RootQueryResult<ExtractContext<TQuery>>, {
}> & object
예제
// Minimal usage - just pass a query function
const activeUsers = createLiveQueryCollection(
(q) => q
.from({ user: usersCollection })
.where(({ user }) => eq(user.active, true))
.select(({ user }) => ({ id: user.id, name: user.name }))
)
// Full configuration with custom options
const searchResults = createLiveQueryCollection({
id: "search-results", // Custom ID (auto-generated if omitted)
query: (q) => q
.from({ post: postsCollection })
.where(({ post }) => like(post.title, `%${searchTerm}%`))
.select(({ post }) => ({
id: post.id,
title: post.title,
excerpt: post.excerpt,
})),
getKey: (item) => item.id, // Custom key function (uses stream key if omitted)
utils: {
updateSearchTerm: (newTerm: string) => {
// Custom utility functions
}
}
})
호출 시그니처
function createLiveQueryCollection<TQuery, TContext, TUtils>(config): CollectionForContext<TContext, RootQueryResult<TContext>, {
}> & object;
정의 위치: packages/db/src/query/live-query-collection.ts:141
라이브 쿼리 컬렉션을 직접 생성합니다
타입 매개변수
TQuery
TQuery 확장 QueryBuilder<any>
TContext
TContext 확장 Context = ExtractContext<TQuery>
TUtils
TUtils 확장 UtilsRecord = {
}
매개변수
config
LiveQueryCollectionConfig<TContext, RootQueryResult<TContext>> & object
반환값
CollectionForContext<TContext, RootQueryResult<TContext>, {
}> & object
예제
// Minimal usage - just pass a query function
const activeUsers = createLiveQueryCollection(
(q) => q
.from({ user: usersCollection })
.where(({ user }) => eq(user.active, true))
.select(({ user }) => ({ id: user.id, name: user.name }))
)
// Full configuration with custom options
const searchResults = createLiveQueryCollection({
id: "search-results", // Custom ID (auto-generated if omitted)
query: (q) => q
.from({ post: postsCollection })
.where(({ post }) => like(post.title, `%${searchTerm}%`))
.select(({ post }) => ({
id: post.id,
title: post.title,
excerpt: post.excerpt,
})),
getKey: (item) => item.id, // Custom key function (uses stream key if omitted)
utils: {
updateSearchTerm: (newTerm: string) => {
// Custom utility functions
}
}
})