【发布时间】:2020-09-09 11:54:17
【问题描述】:
预期行为
从 Firestore 获取嵌套集合 orderBy('seqNo', sortOrder)
实际行为
如果我这样做,我可以轻松获取数据:
getAll(collectioName: string) {
const response: AngularFirestoreCollection<ID> = this.db.collection(collectioName);
return response.snapshotChanges()
.pipe(
map(snaps => snapsCoverter(snaps))
)
}
但只要我这样做:
getCollectionPaginated(collectioName: string, sortOrder: OrderByDirection, pagesize: number, pageNumber: number) {
const response: AngularFirestoreCollection<ID> = this.db.collection(
collectioName,
ref => ref
.orderBy('seqNo', sortOrder)
.limit(pagesize)
.startAfter(pageNumber * pagesize)
);
return response.snapshotChanges()
.pipe(
map(snaps => snapsCoverter(snaps))
)
}
它返回一个[]
这是我调用的方法:
this.service.getCollectionPaginated(`courses/${id}/${nestedCollectionPath}`, "asc", 3, 0)
.subscribe(x => console.log(x))
有关问题的信息
我确定问题出在这里:
ref => ref
.orderBy('seqNo', sortOrder)
.limit(pagesize)
.startAfter(pageNumber * pagesize)
只要我尝试将此逻辑应用于主集合,它就可以正常工作,但它不适用于嵌套集合。
你能看一下吗?
非常感谢。
【问题讨论】:
标签: angular firebase google-cloud-firestore nested