在firebase中,是否可以在不知道1级节点值的情况下,在2级节点进行查询?

问题描述 投票:0回答:1

请看附图,因为我只知道第2个节点的值。-M5Cc-PcLR9HfRQyJ0SU),是否可以在此基础上进行查询,得到第1个节点的值(-M5ukIV79GHeUc0FnVUI)?

谢谢你。

消防基地结构

ios swift firebase firebase-realtime-database
1个回答
0
投票

这是不可能的。 你需要能够建立完整的节点路径来查询。 没有通配符。

你migth要考虑以这样的方式重复数据,你可以在没有父节点的情况下找到它。 这种数据复制在nosql类型的数据库中很常见。


0
投票

如果我们从字面上理解这个问题,你不需要查询,答案是肯定的,你可以根据所提供的信息得到这些数据。

不过同样不会是查询。

你问的是

获取第一个节点的值

要获得 首节 之内 -M5Cc9t 节点,您可以读取顶层节点-M5Cc-Pc......然后读取该快照中的第一个节点。

这将给你一个包含项目01的-M5Cc9t节点。同样,你要求的是第一个节点,这样就可以了。

下面是基于你的结构的代码(我缩写了节点名称)。

func readChildNode() {
    let nodeRefWeKnow = self.ref.child("DEVPCD").child("-M5uklV").child("-M5Cc-Pc")
    nodeRefWeKnow.observeSingleEvent(of: .value, with: { snapshot in
        let allSnapshots = snapshot.children.allObjects as! [DataSnapshot]
        if let firstSnapshot = allSnapshots.first {
            let name = firstSnapshot.childSnapshot(forPath: "name")
            print(name)
        }
    })
}

和输出

Snap (name) Item 01
© www.soinside.com 2019 - 2024. All rights reserved.