如何在Firebase实时数据库(Swift)中嵌套数据

如何在Firebase实时数据库(Swift)中嵌套数据,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,我在Firebase中的数据库当前如下所示: locations: { person: "" location: "" } locations: { person: "" { location: "" } } 如何嵌套数据,使其看起来像这样: locations: { person: "" location: "" } locations: { person: "" { location: "" } } 一种

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

locations: {
    person: ""
    location: ""
}
locations: {
    person: "" {
        location: ""
}
}
如何嵌套数据,使其看起来像这样:

locations: {
    person: ""
    location: ""
}
locations: {
    person: "" {
        location: ""
}
}
一种结构,其中位置是父对象,人是子对象,位置是人的子对象

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

以下是我目前用Swift编写的代码:

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

locRef.setValue(locItem)
谢谢

let locRef = locationRef.childByAutoId()
let locItem = [
    senderId : [
        "location": getLocationID()
    ]
]
SenderID将是此人的密钥,因此您可以通过其ID找到此人。。。并且ID持有一个嵌套的位置键

你只需要逻辑吗?或者您需要工作代码示例吗

SenderID将是此人的密钥,因此您可以通过其ID找到此人。。。并且ID持有一个嵌套的位置键


你只需要逻辑吗?或者您需要工作代码示例吗?

谢谢!很有道理,对吧。。。如果你还有其他问题,就给我写一封后续信吧!它成功了!现在,我如何从Firebase中检索senderID的位置?您将userID作为键,因此可以通过询问位置来轻松检索它。[userID]。locationCool但检索数据时不存在fire base特定的语法吗?谢谢!很有道理,对吧。。。如果你还有其他问题,就给我写一封后续信吧!它成功了!现在,我如何从Firebase中检索senderID的位置?您将userID作为键,因此可以通过询问locations[userID].locationCool轻松检索它,但检索数据时不存在Firebase特定的语法吗?更大的问题是,为什么要以这种方式构造数据。通常,您会有位置/loc_id_01和位置/loc_id_02等,然后在每个位置中都有关于该位置的信息。在这种情况下,可能有机会对数据进行非规范化,以提供更平坦的结构。也许不是?我觉得这样形成数据会使检索数据变得更容易。更大的问题是,为什么要以这种方式构建数据。通常,您会有位置/loc_id_01和位置/loc_id_02等,然后在每个位置中都有关于该位置的信息。在这种情况下,可能有机会对数据进行非规范化,以提供更平坦的结构。也许不会?我觉得这样形成数据会使检索数据更容易