swift - 在 Swift 中将 Firebase 的一个子节点从一个节点更改为另一个节点

标签 swift firebase firebase-realtime-database

这是我的数据库结构:

users
   user1
      nodeA
        nodeToBeMoved
            content : content1
            date : date1
   user2
      nodeB

我正在寻找将“nodeToBeMoved”从节点 A 移动到节点 B,我尝试将 content1 和 date1 放入变量“value”中,然后删除“nodeToBeMoved”,然后将变量添加到节点B. 但由于某种原因我的应用程序崩溃了。这是我的代码:

self.ref.child("users").child(user1).child(nodeA).child(nodeToBeMoved).observe(.value, with: { (snapshot) in
            let value = snapshot.valueInExportFormat() as AnyObject
            self.ref.child(users).child(user1).child(nodeA).child(nodeToBeMoved).removeValue()
            self.ref.child(users).child(user2).child(nodeB).child(nodeToBeMoved).child(content).setValue(value["content"] as Any)
            self.ref.child(users).child(user2).child(nodeB).child(nodeToBeMoved).child(date).setValue(value["date"] as Any)



        }) { (error) in
            print(error.localizedDescription)
        }

我相信变量类型有问题。有人可以帮我解决这个问题吗?这也是我的方法,但是如果您知道更好的方法,请随时说出来。

最佳答案

试试这个`

self.ref.child("users").child(user1).child(nodeA).child(nodeToBeMoved).observe(.value, with: { (snapshot) in
        let value = snapshot.value as NSdictionnary
         if let actualvalue = value {
         self.ref.child(users).child(user1).child(nodeA).child(nodeToBeMoved).removeValue()
        self.ref.child(users).child(user2).child(nodeB).child(nodeToBeMoved).child(content).setValue(actualvalue["content"] as Any)
        self.ref.child(users).child(user2).child(nodeB).child(nodeToBeMoved).child(date).setValue(actualvalue["date"] as Any)

        }




    }) { (error) in
        print(error.localizedDescription)
    }

关于swift - 在 Swift 中将 Firebase 的一个子节点从一个节点更改为另一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57683503/

相关文章:

ios - 将数据从 ViewController 传递到 ChildContainerContainer Swift

swift - 当我以编程方式从 Storyboard 加载窗口时,为什么在 NSView 中未调用 drawRect?

ios - 新的 Firebase Crashlytics SDK 缺少 dSYM UUID

android - 如何使用 firebase 实时数据库在具有分页的 android 中的 recyclerview 列表中实现搜索?

android - 如何在用户注册之前扫描 Firebase 数据库?

swift - Realm Swift使用Object作为参数

swift - 如何从具有多个部分的 NSCollectionView 添加/删除项目

android - 如何通过 Firebase 中的存储引用获取文件大小

angular - Cloud Functions for Firebase 创建用户的安全性

android - 我在创建聊天应用程序时收到 ConcurrentModificationException