【问题标题】:How can I create a database Firebase where relationships are one to many?如何创建关系是一对多的数据库 Firebase?
【发布时间】:2019-10-02 12:52:23
【问题描述】:

我需要在 Firebase 中为 Web 和 IOS 应用程序创建一个通用数据库。如何创建一对多的关系?我需要对用户进行身份验证,可以添加一个或多个出版物。因此,一个用户可以拥有许多出版物。此外,我需要在应用程序中聊天。我真的坚持这一点,无法找到我需要如何构建数据库的答案。请帮帮我。

【问题讨论】:

  • 如果您包括您的尝试以及您卡在哪里,它将帮助其他人帮助您。
  • Firebase 有两个数据库:实时数据库和 Cloud Firestore。为确保您获得对您最直接有用的答案,请标记您要使用的数据库:firebase-realtime-databasegoogle-cloud-firestore

标签: swift database firebase web


【解决方案1】:

对于一对多关系,您可以使用Subcollections。因此,您可以使用其中包含所有用户文档的用户集合。然后,每个用户文档都会附加一个 Publications-Collection,其中保存了所有 Publication-Documents。

对于聊天,您应该提供更多关于您遇到问题的信息。那里有许多资源,它们讨论了在 Firebase 中实现聊天的不同方法。

【讨论】:

    【解决方案2】:

    首先创建一个子用户:

    “users”: {
     “uid-1234”: {
        “name”: “Jon Doe”
    }
    

    }

    然后为您的 PUBLICATIONS 创建一个子项:

    “publications” : {
        “uid-0987”: {
            “post”: “Hello world!!!”
            “posted_by”: “uid-1234”
        }
    }
    

    然后是你的聊天:

     “chat” : {
            “chat-uid-9283”: {
                “message-uid-a1b2” : {
                    “message”: “Hey!! Testing chat!!”
                    “send_by”: “did-1234”
                }
            }
        }
    

    现在,当您显示有关 CHAT 和/或 PUBLICATION 的信息时,您可以使用键值:posted_by 和 send_by 来获取用户信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 2022-10-25
      • 2016-02-02
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多