我有这个功能,我检查孩子A是否有孩子,如果不是,我想将孩子B复制到孩子A。
目前我正在尝试获取B的快照并将其写入A.无法使其正常工作。
我是Swift和Firebase的初学者,发现了类似的问题,但在其他语言中我并不了解。
我的代码:
ref.child("Users").child("Friends").child(String(a)).observe(.value, with: { (snapshot) in
if(snapshot.exists()){
if(snapshot.hasChild(String(b))){
//perform operation on node A
} else {
//Here I want to copy DefaultFriends->x into Users->Friends->x
//perform operation on node A
} else {
//Here I want to copy entire DefaultFriends into Users->Friends
//perform operation on node A
}
})
我的数据库是结构化的:
----Users
---------Friends
//e.g put Child B here
----------------2
-------------------Friend21
-------------------Friend22
---DefaultFriends
-------------------1 //Child B
---------------------DefaultFriend11
---------------------DefaultFriend12
-------------------2
---------------------DefaultFriend21
---------------------DefaultFriend22
---------------------DefaultFriend23
---------------------DefaultFriend24
答案 0 :(得分:0)
看起来只是为孩子写一个snapshot.value
Swift中的解决方案:
func copy(a:Int, b:Int){
let ref = FIRDatabase.database().reference()
ref.child(String(a)).child(String(b)).observe(.value) { (snapshot) in
ref.child("Users").child("Friends").child(String(a)).child(String(b)).setValue(snapshot.value)
}
}