用途:为使用 Firebase Firestore 的项目提供实现指导,聚焦 NoSQL 文档数据库、实时同步、离线优先架构、Security Rules、Cloud Functions 触发器与移动端 SDK 优化。适用于移动优先且需离线支持、实时协作、跨 iOS/Android/Web/Flutter 平台,或需 Google Cloud 集成与灵活演进数据结构的应用。
主要能力:实时同步自动同步所有在线客户端;离线缓存基于 IndexedDB 持久化并在恢复联网后自动同步;Security Rules 提供声明式字段级访问控制;Cloud Functions 支持文档触发器做服务端处理;复合索引优化复杂查询。技能分为多个专项模块:modules/security-rules.md(规则结构、基于角色的访问、自定义 claims、字段校验、调试)、modules/offline-cache.md(持久缓存配置、多标签管理器、缓存大小优化、同步状态与网络状态)、modules/realtime-listeners.md(快照监听、待写入元数据、查询订阅优化、监听生命周期与错误处理)、modules/transactions.md(原子批量操作、事务模式与约束、分布式计数器、冲突解决与性能)。另有 reference.md 与 examples.md 提供扩展文档和完整示例。
必要用法:通过 Context7 获取文档时,先调用 mcp__context7__resolve-library-id,libraryName 为 "firebase" 得到库 ID,再用 mcp__context7__get-library-docs 拉取,topic 可设为 "firestore security-rules"、"firestore offline" 或 "firestore real-time",分配 6000 至 8000 tokens。初始化离线持久化时从 firebase/app 导入 initializeApp,从 firebase/firestore 导入 initializeFirestore、persistentLocalCache、persistentMultipleTabManager、CACHE_SIZE_UNLIMITED;用 initializeApp 传入含 apiKey、authDomain、projectId 的 config,导出以 initializeFirestore 创建并配置 localCache 的 db 实例。实时监听示例从 firebase/firestore 导入 collection、query、where、orderBy、onSnapshot,构建 query 后用 onSnapshot 并设 includeMetadataChanges 为 true,返回取消订阅函数。复合索引用 firestore.indexes.json 定义,字段可设 order(ASCENDING/DESCENDING)或 arrayConfig(CONTAINS)。
性能与额度(资料标注 2024):读延迟约 50-200 毫秒,写延迟约 100-300 毫秒,实时传播约 100-500 毫秒,离线同步在重连时自动进行。免费层:存储 1GB,每日读取 50,000,每日写入 20,000,每日删除 20,000。
限制:以上能力与额度均来自资料,实际行为可能随平台变化;资料未提供价格、项目配置以外的集成细节或具体平台差异说明。