首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase Firestore get()计为3个api调用

Firebase Firestore get()计为3个api调用
EN

Stack Overflow用户
提问于 2018-10-13 00:08:42
回答 2查看 948关注 0票数 0

这周我一直在开发一个简单的应用程序来学习如何使用Firestore,并且我一直在关注配额页面上的api调用。整个星期,我几乎没有使用400个电话,但今天突然报告了超过50000个。现在,我的Firestore只有2个集合,其中一个集合只有8个文档。所以数据不是很多。我的应用程序仍然非常原始,只能在其中之一中收集和添加/更新文档。我提到所有这些都是为了解释我的应用程序不会做太多事情,所以当我看到它的用法时,我感到非常惊讶。

我开始深入研究各个调用,并注意到当我执行单个调用时:

代码语言:javascript
复制
let db = fire.firestore();
db.collection("tags").get()
.then( snapshot => {
  console.log(snapshot);
})
.catch( error => {
  console.log(error);
})

Cloud Firestore API调用计数器增加了3。没有自定义函数,也没有数据库规则

代码语言:javascript
复制
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read: if request.auth.uid != null;
      allow write: if request.auth.uid != null;
    }
  }
}

我还没有考虑过创建/更新文档,但是有人知道为什么这个get()会被算作3个api调用吗?

EN

回答 2

Stack Overflow用户

发布于 2018-12-12 23:14:33

免责声明:

我并不是说这解决了你访问50,000+应用程序接口调用的问题,而是说这很可能是你在这个配额内遇到的问题。

通过Firestore的控制台查看和编辑您的项目数据将计入您的总Cloud Firestore API Calls配额。

再说一次,你可能不会觉得这有帮助,但更多的时候,用户会在观察数据变化的同时测试他们的应用程序(无论是运行身份验证,为字段写新值,还是云函数)这将导致不一致的配额增加,因为你本质上是同时在两个地方读/写。

我建议通过观察应用程序的only来尝试这一点,日志语句最好地描述了发生的过程。如果你仍然看到奇怪的配额增加,不幸的是它驻留在你的代码中,而不是谷歌。希望这能有所帮助!

票数 3
EN

Stack Overflow用户

发布于 2018-10-15 22:35:19

如果安全规则是原因,只需尝试以下安全规则,直到应用程序处于开发过程中:

代码语言:javascript
复制
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52783292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档