본문으로 건너뛰기

함수: 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&lt;any>

TQuery

TQuery 확장 QueryBuilder&lt;any> = ReturnType&lt;TQueryFn>

매개변수

query

TQueryFn & RootQueryFn&lt;TQuery>

반환값

CollectionForContext&lt;ExtractContext&lt;TQuery>, RootQueryResult&lt;ExtractContext&lt;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&lt;any>

TContext

TContext 확장 Context = ExtractContext&lt;TQuery>

TUtils

TUtils 확장 UtilsRecord = { }

매개변수

config

LiveQueryCollectionConfig&lt;TContext, RootQueryResult&lt;TContext>> & object

반환값

CollectionForContext&lt;TContext, RootQueryResult&lt;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
}
}
})