【发布时间】:2017-01-03 23:39:19
【问题描述】:
我无法理解 Firebase db 的工作方式。 是的,我知道它是我的数据的 JSON,我知道在不同对象之间设置一对多和多对多关系的方法。但是有什么方法可以为数据库设置某种“schema”?
一个例子来理解我的意思:如果我正在使用 Firebase SDK 创建一个 Android 应用程序,而我的朋友正在创建一个 iOS 应用程序。我把这个推到"users": {name: John, city: LA}。我的朋友犯了一个错误,推{name: Tom, cety: NY}。比,试图得到汤姆斯市 - 我会得到什么?空?
有没有办法指定保存数据的结构。在 Firebase 控制台中,我只看到了添加精确值的方法,而不是指定它的结构方式。如何告诉其他开发人员或“未来的我”我的用户应该包含,例如“name”、“gender”和“dog_eyes_color”? 希望你能理解我。
【问题讨论】:
-
您可以使用所谓的安全规则验证 Firebase 服务器上的数据结构。请参阅firebase.google.com/docs/database/security/securing-data,然后特别是其中的
.validate规则。 -
@FrankvanPuffelen “.validate”规则看起来正是我所需要的。
-
@FrankvanPuffelen 还有一件事。您在第一次授权用户时说 - firebase 在数据库中创建所需的记录。数据库的根目录下是否有某种保留的“用户”节点?如果是这样 - 我如何指定用户的 ID,例如他们的用户名或电子邮件。如果我只想在用户提供一些有价值的数据的情况下在数据库中创建一个新的记录怎么办。示例:约会应用程序。只有在用户指定了性别、城市和他正在寻找的人时才注册用户。
-
Firebase 不会在数据库中为用户自动创建记录(让我知道您从哪里得到这个想法,我会更新它)。要创建这样的记录,您必须编写代码。这也意味着您可以准确控制创建记录的时间。
标签: firebase firebase-realtime-database nosql