我在Kotlin中有以下代码,在按"columnA"排序后,我会在其中检查我收藏的最后一份文档:
db.collection("collection1").orderBy("columnA", Query.Direction.DESCENDING)
.limit(1).get()
.addOnCompleteListener {
if (it.isSuccessful) {
// Some operations
}
}
据我所知,Cloud Firestore在执行该操作时应该执行一次读取。对吗?那么,为什么Firestore可以执行30多次读取操作呢?
据我所知,firebase在执行该操作时应该执行一次读取。对吗?
是的,没错。如果您将查询限制为只返回一个元素,那么您将始终只需要一个读取操作。根据有关Firestore定价的官方文件,据说:
查询的最低费用
即使查询没有返回任何结果,您执行的每个查询的最低费用为一个文档读取。
因此,即使查询没有生成文档,执行查询时也会有一次读取操作的成本。
但是,如果您保持Firebase控制台打开,这些额外的读取操作很可能会出现,因为控制台被视为任何其他客户端。或者,您执行其他查询,这些查询会引发您不知道的代码其他部分的读取操作。