假设我想检查我的Firestore中的EN中是否存在本地化文档。我将尝试阅读:
DocumentSnapshot englishDocument = _firestore.document('/books/000000/lang/en').get();
然后我检查文档是否存在。如果不检查该书是否存在西班牙语。
if (!englishDocument.exists) {
DocumentSnapshot spanishDocument = _firestore.document('/books/000000/lang/es').get();
}
-这本书在英语中可用:我为1本书收取费用
-这本书在EN中不可用,但是在ES中:我需要为1或2读物收费吗?
-这本书在两种语言中均不可用:我是否需要为2次朗读付费或算作0次朗读?
在所有情况下,调用get()
读取文档都需要1次读取操作。如果不支付阅读费用,就无法检查文档是否存在。从本质上来说,您是在使用使用可大规模伸缩的索引来快速地向您介绍文档的特权。
请参阅有关minimum charges for queries的文档:
即使您执行的查询没有返回结果,对于您执行的每个查询也要收取一份文档的最低费用。
另请参见:How to check if a document exists with a given id in firestore, without costing money?