【问题标题】:How to nest data in Firebase Realtime database (Swift)如何在 Firebase 实时数据库 (Swift) 中嵌套数据
【发布时间】:2016-06-26 10:52:47
【问题描述】:

我在 Firebase 中的数据库目前如下所示:

locations: {
    person: ""
    location: ""
}

如何嵌套数据使其看起来像这样:

locations: {
    person: "" {
        location: ""
}
}

locations 是 parent,person 是 child,location 是 person 的 child 的结构。

我知道关系,只是不太确定语法。

这是我目前使用 Swift 编写的代码:

let locRef = locationRef.childByAutoId()
let locItem = [
    "location": getLocation(),
    "person": senderId
]

locRef.setValue(locItem)

谢谢。

【问题讨论】:

  • 更大的问题是您为什么要以这种方式构造数据。通常,您将拥有位置/loc_id_01 和位置/loc_id_02 等,然后在每个位置内都有有关该位置的信息。在这种情况下,可能有机会对您的数据进行非规范化以提供更扁平的结构。也许不是?
  • 我觉得以这种方式处理数据会使检索数据变得更加容易

标签: swift firebase firebase-realtime-database


【解决方案1】:
let locRef = locationRef.childByAutoId()
let locItem = [
    senderId : [
        "location": getLocationID()
    ]
]

SenderID 将是此人的密钥,因此您可以通过其 ID 找到此人...并且该 ID 包含一个嵌套的位置密钥

你只需要逻辑吗?还是您需要工作代码示例?

【讨论】:

  • 谢谢!很有道理
  • 好吧...如果您还有其他问题,请给我留言
  • 成功了!现在我将如何从 Firebase 中仅检索 senderID 的位置?
  • 您将 userID 作为 key,因此您可以通过询问位置轻松检索它。[userID].location
  • 很酷,但是没有用于检索数据的触发基础特定语法吗?
猜你喜欢
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 2020-02-26
  • 1970-01-01
  • 2023-02-02
  • 1970-01-01
  • 2022-11-02
  • 2017-10-11
相关资源
最近更新 更多