Firestore读写删计数规则及项目场景下的计量问询
Firestore 读写删计量场景明确解析
基础计数规则
Firestore 的读写删操作计数仅以文档数量为基准,和文档内字段数量、集合层级完全无关:
- 写入/删除1个文档(无论包含多少字段),计1次对应操作
- 读取1个文档(无论读取全部或部分字段),计1次读取
场景1:单文档增删读的计数逻辑
- 向集合添加任意字段的文档:计 1次write,与字段数量、集合层级无关
- 删除该文档:计 1次delete,不受文档内容影响
- 读取该文档:无论读取多少字段,都计 1次read
场景2:Next.js Google登录的读写量
setDoc写入Users集合下的user.uid文档:无论首次创建还是覆盖更新,都计 1次write- 前端更新header的
photoURL和displayName是本地操作,不触发Firestore读写,不计入统计 - 总操作量:1次write
场景3:首页获取10条帖子的读取量
- 从Posts集合获取10条帖子,每条对应1个独立文档,无论包含多少字段(如
user.photoURL),均按文档数量计数 - 总读取量:10次read,与帖子是否为当前用户创建无关
场景4:创建帖子流程的读写量
分两种情况统计:
- Folder集合已有文档(长度≠0):
- 检查Folder集合长度:需读取该集合下的所有文档来统计数量,假设当前有
k个文档,计 k次read - 直接创建帖子到Posts集合:计 1次write
- 总操作量:
k次read + 1次write
- 检查Folder集合长度:需读取该集合下的所有文档来统计数量,假设当前有
- Folder集合为空(长度=0):
- 检查Folder集合长度:查询空集合返回0个文档,计 0次read
- 创建Folder文档到Users集合下
user.uid的Folders集合:计 1次write - 创建帖子到Posts集合:计 1次write
- 总操作量:
0次read + 2次write
内容的提问来源于stack exchange,提问作者Mintee
相关产品推荐
相关产品推荐

