首页 > 解决方案 > 如何在 Firestore 中强制执行数据库架构?

问题描述

我想在 Firestore 中强制实施数据库模式,这是一种默认情况下不需要方案的 noSQL 样式数据库。

到目前为止,我已经研究过使用 Firebase 规则系统作为架构实施的可能途径: https ://firebase.google.com/docs/firestore/security/rules-structure

我想:

  1. 确保某些字段具有正确的数据类型(字符串、数字、布尔值)
  2. 确保存在某些字段(例如:用户类上的名字和姓氏)
  3. 如果不需要,请确保将字段设置为“未定义”。(这个我不确定——我需要这样做吗?)

有没有人找到一种从服务器端强制执行模式的好方法?

标签: firebasegoogle-cloud-firestoregoogle-cloud-functionsfirebase-security

解决方案


听起来您已经找到了答案——安全规则。他们可以检查以确保一切都按您期望的方式设置。您应该知道,这适用于通过客户端 SDK 进行的所有访问,但在您的后端使用 Admin SDK(如果有)时则无效。

您也可以在添加数据后使用 Cloud Functions 进行更多检查,如果仍有问题,请撤消操作。


推荐阅读