Javascript 如何将Firestore orderBy desc与startAfter游标组合
我试图在firestore中查询一个列表,该列表应按降序日期属性排序,并使用startAfter光标对结果进行分页 正如您在下面的代码片段中所看到的,一旦我将orderBy('date','desc')与startAfter(lastDoc.date)组合起来,这将失败 我想知道我做错了什么。有什么想法吗Javascript 如何将Firestore orderBy desc与startAfter游标组合,javascript,firebase,google-cloud-firestore,react-native-firebase,Javascript,Firebase,Google Cloud Firestore,React Native Firebase,我试图在firestore中查询一个列表,该列表应按降序日期属性排序,并使用startAfter光标对结果进行分页 正如您在下面的代码片段中所看到的,一旦我将orderBy('date','desc')与startAfter(lastDoc.date)组合起来,这将失败 我想知道我做错了什么。有什么想法吗 //这确实有效 //但它是按升序日期排序的 db.收集(“储罐”) .doc(tankId) .collection(“文档”) .orderBy('日期') .startAfter(最后文
//这确实有效
//但它是按升序日期排序的
db.收集(“储罐”)
.doc(tankId)
.collection(“文档”)
.orderBy('日期')
.startAfter(最后文件日期)
.限制(页面大小)
.get()
//这甚至可以。。。
//但是没有为分页设置游标(startAfter)
db.收集(“储罐”)
.doc(tankId)
.collection(“文档”)
.orderBy('date','desc')
.限制(页面大小)
.get()
//这就是我需要的
//但它总是返回零结果
db.收集(“储罐”)
.doc(tankId)
.collection(“文档”)
.orderBy('date','desc')
.startAfter(最后文件日期)
.限制(页面大小)
.get()
您需要在之后将实际文档快照传递到开始,而不是日期值:
db.collection('tanks')
.doc(tankId)
.collection('documentations')
.orderBy('date', 'desc')
.startAfter(lastDoc)
.limit(pageSize)
.get()
请参阅。这实际上起作用了,不知道为什么以前没有
const snapshot=lastDoc
? 等待Api.db.collection(“储罐”)
.doc(tankId)
.collection(“文档”)
.orderBy('date','desc')
.startAfter(最后文件日期)
.限制(页面大小)
.get()
:等待Api.db.collection('储罐')
.doc(tankId)
.collection(“文档”)
.orderBy('date','desc')
.限制(页面大小)
.get()
.startAfter(lastDoc)实际上不工作并返回从第一个索引开始的数据,可能是因为lastDoc是snapshot.data()。