【问题标题】:I cann't understand the Name and Value in firebase我无法理解 Firebase 中的名称和值
【发布时间】:2021-10-13 02:58:40
【问题描述】:

我是一个 RDBMS 用户,但后来转到了 RTDB。由于我们在 RDBMS 中有列,并且数据以行的形式查看。让我们有表名用户和列是名字、姓氏和用户名。我们在 James、John 和 Jhonathan 列中插入数据。 RTDB 如何使用名称和值,每个用户在 RDBMS 中都有一个特定的行,但 RTDB 是一个树结构。帮帮我,我很困惑。

【问题讨论】:

    标签: firebase firebase-realtime-database nosql


    【解决方案1】:

    Firebase 实时数据库是一个 NoSQL 数据库,因此尝试将关系概念投射到它是行不通的。

    也就是说,如果您想在实时数据库中存储用户列表,通常看起来像这样:

    {
      "Users": {
        "idOfUser1": {
          "firstname": "James",
          "lastname": "Last Name",
          "username": "James123"
        },
        "idOfUser2": {
          "firstname": "John",
          "lastname": "Another Name",
          "username": "John456"
        },
        "idOfUser3": {
          "firstname": "Jhonathan",
          "lastname": "One more Last Name",
          "username": "Jhonathan789"
        }
      }
    }
    

    我们在这里为每个用户复制属性名称,但它们的用途与 SQL 数据库中的列名称相同。我们复制它们的原因是数据库是无模式的,没有任何定义可以阻止 John 在上述结构中拥有额外的属性:

    "idOfUser2": {
      "firstname": "John",
      "lastname": "Another Name",
      "likesSushi": true,
      "username": "John456"
    },
    

    可以强制实施架构,但您可以在数据库的服务器端安全规则中自行执行此操作。在那里你可以validate the structure of your data

    学习 NoSQL 是一个太大的话题,无法在这里简明扼要地介绍它,但我希望这能给您一些入门的想法。在此之后,我建议阅读;NoSQL data modeling,观看视频系列Firebase for SQL developers,也可能还有Getting to know Cloud Firestore。最后一个适用于 Firebase 的其他 NoSQL 数据库,但许多概念也适用于实时数据库 - Todd 非常擅长解释它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-07
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 2016-09-20
      • 2017-05-30
      相关资源
      最近更新 更多