查询Firestore数据时,是否可以设置范围?

时间:2019-01-07 10:25:16

标签: python google-cloud-firestore firebase-admin

我有一个文档集合,所有文档都有随机ID和一个名为import java.util.UUID; DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); DatabaseReference userRef = rootRef.child("Users"); //key = userRef.push().getKey(); key = UUID.randomUUID().toString(); 的字段。

date

想象一下我将搜索限制在前十个

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

当我想要从11到20的商品时,如何继续下一个查询?

2 个答案:

答案 0 :(得分:4)

您可以使用 var result = from item in listOfStuff.SelectMany(e => e.Constants) where item.Key =="ConstantA" select item ; ,但是每个文档都将计数作为读取跳过。例如,如果您进行了offset(),则需要为15次读取付费:10个偏移量+实际得到的5个。

如果要避免不必要的读取,请使用query.offset(10).limit(5)startAt()

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

startAfter()

答案 1 :(得分:1)

我可以在docs

中找到一个集合,其中可以有一个offset(num_to_skip)

这是我的代码

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