即使我再次调用查询,firebase对查询的限制是否仍保持该限制?

即使我再次调用查询,firebase对查询的限制是否仍保持该限制?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我正在创建一个约会应用程序,并试图将限制限制为一个。一旦此人接受或拒绝潜在匹配,我会再次调用查询,但它不会返回任何内容。如果一个用户请求了100个文档,只浏览了一个文档,那么我不想收取费用,因此我想将其限制为一个,然后在用户每次查看一个文档时,以一个为限制再次调用查询 find匹配(选择){ const findMatchQuery=this.matchSvc.getMyMatches() .where('gender','=',internative.searchGender) .order

我正在创建一个约会应用程序,并试图将限制限制为一个。一旦此人接受或拒绝潜在匹配,我会再次调用查询,但它不会返回任何内容。如果一个用户请求了100个文档,只浏览了一个文档,那么我不想收取费用,因此我想将其限制为一个,然后在用户每次查看一个文档时,以一个为限制再次调用查询

find匹配(选择){
const findMatchQuery=this.matchSvc.getMyMatches()
.where('gender','=',internative.searchGender)
.orderBy('endDay'))
.限额(1);
findMatchQuery.get()
。然后(行程列表快照=>{
InventureListSnapshot.forEach(快照=>{
让age=moment().diff(snapshot.data().dateOfBirth,'years');
if((年龄=行程.年龄范围.下限)){
这是。匹配行程。推送({
id:snapshot.id,
userId:snapshot.data().userId,
详细信息:snapshot.data().details,
searchGender:snapshot.data().searchGender,
dateOfBirth:snapshot.data().dateOfBirth,
照片URL:“”,
displayName:snapshot.data().displayName
});
}
}
});

})
我不确定我是否完全理解您的问题/顾虑,因此我将解释Firebase计费在该场景中的工作原理(据我所知):

  • 每次调用
    get()
    ,Firebase都必须在服务器上检查与查询匹配的文档。这将至少需要读取一个文档(即使没有匹配的文档),最多需要返回的文档数
  • 由于您的
    findMatchQuery
    仅限于一个文档,因此每次调用将花费读取一个文档的费用
  • 每次在
    findMatchQuery
    查询中调用
    get()
    ,它仍然限于一个文档,因此最多返回一个文档
  • 但是由于
    get()
    需要对照服务器进行检查,因此即使没有(更多)匹配的文档,读取一个文档也要花费1美元

  • 所以每次调用get()…都是这样,而不是get()中返回的文档数?假设您调用get(),有1000个文档,这相当于1000次文档读取,对吗?每次服务器为您的项目读取一个文档,您将为一次文档读取收取费用。如果您
    get()
    1000个文档,即读取1000个文档。但是你的问题限制为1,所以每次阅读都是1。