iOS Firebase - 如何从不同节点中删除具有相同 key 的子节点

标签 ios swift firebase firebase-realtime-database

我有一个名为“Following”的引用。在该引用下,有 2 个不同的 userId 关注同一用户。如果他们都关注的用户想要删除他们的帐户,我想从关注节点中删除他们。多位置更新似乎无法正确实现此目的。

如何做到这一点?

enter image description here

用户 kk8qFOIw... 是正在删除其帐户的用户。一旦删除,他们的 key 应该从其他用户的节点中删除。

最佳答案

您可以这样做:

首先获取 id = 1 的所有节点,然后运行多路径更新并将它们设置为空。

 let userId = "yourUserId"
    self.ref.child("following").queryOrdered(byChild: userId).queryEqual(toValue: 1).observeSingleEvent(of: .value) { (snasphot) in
        guard let value = snasphot.value as? [String : Any] else {return}


        var multipathUpdate = [String:Any]()
        value.keys.forEach({ (key) in
            multipathUpdate["following/"+key+"/"+userId] = [:]
        })
        self.ref.updateChildValues(multipathUpdate, withCompletionBlock: { (err, ref) in

        })
    }

关于iOS Firebase - 如何从不同节点中删除具有相同 key 的子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51701778/

相关文章:

ios - FB Graph 订阅 iOS

ios - Swift 2 RAC4 合并 UITextField 信号和 UISwitch 信号

ios - Cloud AMPQ 与 iOS APP 集成

swift - 有一段代码涉及到Delegate Up,希望我理解正确

java - 我正在尝试使用 firebase 制作登录页面和注册页面。我想使用 firebase 实时数据库来存储用户名和电子邮件

ios - 在 Cloud Function for Firebase 中设置优先级 Firebase Messaging

ios - 如何在iOS8中删除UINavigationBar透明性?

c# - Xamarin iOS iPad App 崩溃,原因不明

javascript - Node js : how to export a previously exported function to make it visible

android - 如何在 WCF 中获取客户端 IP 地址和 UDP 端口?