Firebase에서 객체를 만들 때 childByAutoId를 사용합니다. 나중에 특정 개체를 어떻게 업데이트 할 수 있습니까? Firebase가 자동으로 업데이트하는 키 값을 얻는 데 문제가 있습니다. Snapshot.key는 "사용자"를 반환합니다. 내 JSON 구조는 다음과 같습니다.Firebase에서 childByAutoId로 값을 업데이트하는 방법은 무엇입니까?
{
"users" : {
"-KQaU9lVcUYzIo52LgmN" : {
"device" : "e456f740-023e-440a"
"name: "Test"
}
},
-KQaU9lVcUYzIo52LgmN
키는 어떻게 얻을 수 있습니까? 장치 하위를 업데이트하고 싶습니다. 여기 내가 지금까지 가지고있는 것이있다. 현재 하나의 자식과 완전히 별도의 스냅 샷을 생성합니다.
self.rootRef.child("users").queryOrdered(byChild: "name").queryEqual(toValue: self.currentUser).observeSingleEvent(of: .value, with: { (snapshot) in
let key = self.rootRef.child("users").childByAutoId().key
let childValues = ["device": device]
self.rootRef.child("users").child(key).updateChildValues(childValues)
편집 : 장치는 코드에 추가로 설정된 문자열입니다. 이 범위에서 정의되지 않았습니다 (이 질문을 읽기 쉽게하기 위해).
가 완벽하게 일을! 정말 고맙습니다!! 나는 방법이 있다는 것을 알았지 만 나는 그것을 알아낼 수 없었다. 'snapshot.children.allObjects'를 통한 반복은 가고자하는 길 같습니다. – winston
우수함! 다행스럽게 도울 수 있어요. 나는 사람들에게 여기서 물어 봄으로써 똑같은 방식으로 배웠다. ;) – Ryan