【发布时间】:2021-11-06 08:41:51
【问题描述】:
我想知道是否可以动态构建 firebase 查询,目前我正在使用一个变量来确定是否应该包含 startAfter。
如您所见,这会导致重复代码,仅针对一个变量
export async function fetchUserPhotosPaginated(userId: string, lastUserPhoto?: QueryDocumentSnapshot): Promise<QuerySnapshot> {
if (lastUserPhoto) {
return await getDocs(query(
collection(db, 'photos'),
orderBy('createdAt', 'desc'),
startAfter(lastUserPhoto),
where('user.id', '==', userId),
limit(5)
))
}
return await getDocs(query(
collection(db, 'photos'),
orderBy('createdAt', 'desc'),
where('user.id', '==', userId),
limit(5)
))
}
我试过了
- 使用
startAfter(null),这并没有达到预期的效果 - 将查询分配给变量
let q = query(...),然后使用q = q.startAfter(...)更新该查询,这也不起作用
【问题讨论】:
标签: javascript firebase google-cloud-firestore