繁体   English   中英

Firebase 数据结构 SwiftUI

[英]Firebase Data structure SwiftUI

我正在尝试找出为我的应用程序构建数据的最佳方式。 我想要它让用户有一个旅行列表,然后可以通过 go 详细查看费用(燃料、酒店、食品、杂项)。

一个用户的出行次数会很多,这里只是举个例子,详情页大概有20条。 我觉得我想太多了,但不确定让它读取列表中每次旅行的所有 20 项是否只是为了每次旅行显示 2 项是个好主意。

不确定它是否会有所作为,但我使用的是 Xcode 12.4

最好有旅行摘要,然后是详细信息的子集吗?

users:
    - UID: "randomly_generated"
    - firstName: "James"
    - email: "a@email.com"

trips:
    - startDate: "2/5/2022"
    - destination: "Orlando, FL"
    - userID: "Users UID"
    - details: []
        - food: "150"
        - hotel: "400"
        - fuel: "250"
        - misc: "75"

或者我应该把它全部放在旅行中吗?

users:
    - UID: "randomly_generated"
    - firstName: "James"
    - email: "a@email.com"

trips:
    - startDate: "2/5/2022"
    - destination: "Orlando, FL"
    - userID: "Users UID"
    - food: "150"
    - hotel: "400"
    - fuel: "250"
    - misc: "75"

尝试这个:

  • 用户:

    • 第一个UID
      • 名字:“詹姆斯”
      • email: "a@email.com"
    • 第二个UID
      • 名字:“约翰”
      • email:“b@email.com”
  • 行程:

    • FirstTripId
      • 开始日期:“2/5/2022”
      • 目的地:“佛罗里达州奥兰多”
      • uid:第一个UID
      • 食物:“150”
      • 酒店:“400”
      • 燃料:“250”
      • 杂项:“75”
    • SecondTripId
      • 开始日期:“2022 年 3 月 5 日”
      • 目的地:“哈拉雷,津巴布韦”
      • uid:SecondUID
      • 食物:“21”
      • 酒店:“69”
      • 燃料:“420”
      • 杂项:“7”

/// 如果您希望减少查询次数或曾经使用过 rtdb,请添加下一部分

  • 用户行程
    • 第一个UID
      • FirstTripId
        • 开始日期:“2/5/2022”
      • NextTripIds
    • 第二个UID
      • SecondTripId
        • 开始日期:“2022 年 3 月 5 日”

///

使用 Firestore 查询时,您可以在 trips 子项中进行直接复合查询并指定您想要的 UID,它将检索所有这些,此外,您可以限制要返回的行程数量

https://firebase.google.com/docs/firestore/query-data/queries

使用 RTDB,您不能同时进行多个过滤器查询,因此您需要添加一个单独的 userTrips 子项以过滤掉特定用户的所有行程

https://firebase.google.com/docs/database/ios/read-and-write

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM