gpt4 book ai didi

python - 查询firestore数据时有没有设置范围的方法?

转载 作者:行者123 更新时间:2023-12-01 21:59:42 24 4
gpt4 key购买 nike

我有一组文档,所有文档都有随机 ID 和一个名为 date 的字段。

docs = collection_ref.order_by(u'date', direction=firestore.Query.ASCENDING).get()

假设我将搜索限制在前十个

docs = collection_ref.order_by(date', direction=firestore.Query.ASCENDING).limit(10).get()

当我想获取 11 到 20 的项目时,我将如何继续我的下一个查询?

最佳答案

您可以使用 offset(),但是跳过的每个文档都算作一次阅读。例如,如果您执行了 query.offset(10).limit(5),您将按 15 次读取付费:10 次偏移 + 您实际获得的 5 次。

如果要避免不必要的读取,请使用startAt()startAfter()

示例(Java,抱歉,不要说 python。here's link to docs though ):

QuerySnapshot querySnapshot = // your query snapshot

List<DocumentSnapshot> docs = querySnapshot.getDocuments();

//reference doc, query starts at or after this one
DocumentSnapshot indexDocSnapshot = docs.get(docs.size());

//to 'start after', or paginate, you can do below:
query.startAfter(indexDocSnapshot).limit(10).get()
.addOnSuccessListener(queryDocumentSnapshots -> {
// next 10 docs here, no extra reads necessary
});

关于python - 查询firestore数据时有没有设置范围的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54072512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com