[控场AI]
产品Firestore / Firebase Firestore

Cloud Firestore

Google Firebase提供的NoSQL文档型云数据库,以集合-文档层级结构组织数据,支持实时监听与离线同步,适用于多端协作与实时应用场景

核心事实

时间轴 (近 90 天)

10月23日

演示中数据库选用Cloud Firestore。

待验证50%
10月16日

Firestore 安全规则不是过滤器,查询是全有或全无:只要一个查询可能返回哪怕一条用户无权读取的文档,整个查询就会失败

待验证50%
10月16日

创建 Firestore 数据库时,Firebase 提供测试模式,授予所有用户访问权限,导致大量公开项目和教程从开放规则起步

待验证50%
10月16日

正确的修复方式是规则绑定所有者(比较 request.auth.uid 与 resource.data.ownerId),并让查询显式携带 where('ownerId', '==', uid) 以匹配规则

待验证50%
10月16日

if true 放行所有人,if request.auth != null 放行所有登录用户,只有比较 request.auth.uid 与文档中的所有者字段,才真正实现按用户隔离

待验证50%
10月16日

在缺少匹配 where() 条件时,放宽安全规则并不能解决 Firestore 查询权限问题,只会掩盖问题

待验证50%
10月16日

让 Firestore 权限报错消失的最快路径是拆掉规则防线,而真正原因通常藏在查询语句里

待验证50%
10月16日

Cursor 和 Claude Code 这类 AI 编辑器在遇到 Firebase 的 'Missing or insufficient permissions' 错误时,常见的修复方式是将 firestore.rules 改成 allow read, write: if true; 或 if request.auth != null;

待验证50%
10月16日

allow read, write: if true; 规则意味着任何知道 project ID 的人都能读取、修改或删除 Firestore 中的每个文档

待验证50%
10月16日

allow read, write: if request.auth != null; 规则相当于任何注册用户都能读写整个数据库,Firebase 官方将其列为不推荐用法

待验证50%

还有 6 条时间轴事件

全部知识事实 (16)

已验证

Cloud Firestore是一种NoSQL文档数据库,单字段查询可自动索引,但包含多字段过滤或排序的复合查询必须手动创建复合索引

65%
待验证

演示中数据库选用Cloud Firestore。

50%
待验证

在缺少匹配 where() 条件时,放宽安全规则并不能解决 Firestore 查询权限问题,只会掩盖问题

50%
待验证

if true 放行所有人,if request.auth != null 放行所有登录用户,只有比较 request.auth.uid 与文档中的所有者字段,才真正实现按用户隔离

50%
待验证

让 Firestore 权限报错消失的最快路径是拆掉规则防线,而真正原因通常藏在查询语句里

50%
待验证

Cursor 和 Claude Code 这类 AI 编辑器在遇到 Firebase 的 'Missing or insufficient permissions' 错误时,常见的修复方式是将 firestore.rules 改成 allow read, write: if true; 或 if request.auth != null;

50%
待验证

allow read, write: if true; 规则意味着任何知道 project ID 的人都能读取、修改或删除 Firestore 中的每个文档

50%
待验证

allow read, write: if request.auth != null; 规则相当于任何注册用户都能读写整个数据库,Firebase 官方将其列为不推荐用法

50%
待验证

Firestore 安全规则不是过滤器,查询是全有或全无:只要一个查询可能返回哪怕一条用户无权读取的文档,整个查询就会失败

50%
待验证

project ID 不是秘密,在 if true 规则下攻击者只需一条 curl 命令即可获取全部订单集合,无需 key 或 token

50%
待验证

创建 Firestore 数据库时,Firebase 提供测试模式,授予所有用户访问权限,导致大量公开项目和教程从开放规则起步

50%
待验证

正确的修复方式是规则绑定所有者(比较 request.auth.uid 与 resource.data.ownerId),并让查询显式携带 where('ownerId', '==', uid) 以匹配规则

50%
待验证

Firestore 安全规则可通过 firebase deploy --only firestore:rules 单独推送,不影响应用代码

50%
待验证

AI Studio 的 Agent 会自动生成包括 Cloud Firestore 代码、认证代码、/src/lib/firebase.ts 文件和 Firestore Rules 文件的后端代码

50%
待验证

Firestore缺少复合索引时不会查不到数据,而是会触发全集合扫描,因Firestore按读取文档数计费,数据量增大后会产生额外成本

50%
待验证

Firestore缺少索引的报错信息会直接附带创建该索引的控制台链接

50%

来源文章