我想在firestore中执行数据库架构,默认情况下不需要方案的NOSQL样式数据库。
到目前为止,我研究使用Firebase规则系统作为模式执法的可能途径:https://firebase.google.com/docs/firestore/security/rules-scrupture
我想:
- 确保某些字段具有正确的数据类型(字符串,号,bool)
- 确保存在某些字段(例如:用户类上的firstName和lastname)
- 如果不需要,请确保将字段设置为"未定义"。(我不确定这个 - 我需要这样做吗?)
是否有人找到了从服务器端执行架构的好方法?
听起来您已经找到了答案 - 安全规则。他们可以检查以确保一切都按照您的期望设置。您应该知道,这适用于通过客户端SDK访问所有访问,但是在后端使用Admin SDK时不适用。
添加数据后,您还可以使用云功能执行更多检查,然后撤消操作,如果仍然有问题。
firestore不是关系数据库,因此架构的概念不适用[源云Firestore数据模型]。Firestore中的数据类型由firestore.rules
安全规则强制执行。
在关系数据库中,模式定义了表,字段, 关系,视图,索引,软件包,过程,功能, 队列,触发器,类型,序列,实体视图,同义词, 数据库链接,目录,XML模式和其他元素。
[Wikipedia]
应使用架构描述和验证库,例如joi -https://github.com/hapijs/joi
派对晚了一点,但是如果有人仍希望在firebase中执行架构,请看一下Fireschema。一个更激进的选择是查看supabase。