이는 중포 기지에서 값을 업데이트 할 수있는 방법이다 : 당신이 생각 앱
func updateDatabaseForEdits() {
let updates : [AnyHashable: Any] = ["variableName": value,
"variableName2": value]
ref.child("COrders").child("specificKeyYouWantToEdit").updateChildValues(updates, withCompletionBlock: { (error, success) in
if error != nil {
// upload failed
return
}
else {
// upload worked
// update your locally stored values
}
})
}
다른 문제가 있습니다. 특히 데이터를 저장하는 방법. 어떤 키를 액세스해야하는지 어떻게 알 수 있습니까?
당신이 이런 것을 할 수있는 스냅 샷에서 키를 얻고 싶다면 :
desikhanapeena {
COrder {
key123 {
orderInformation
}
}
UserOrders {
uid {
key123
orderInformation
}
}
}
당신은 질문이 있으면 알려주세요 : 나는이 같은 것으로 데이터 저장소를 업데이트하는 것이 좋습니다
for child in snap.children {
let child = child as? DataSnapshot
if let key = child?.key {
// print(key)
}
}
당신은 당신이 이런 식으로 그렇게 할 수 업로드하기 전에 키를 얻고 싶다면 :
let key = ref.child("COrders").childByAutoId().key
HI 메이트, 답장을 보내 주셔서 감사합니다. 오늘 바로 구현하여 다시 보겠습니다. ("specificKeyYouWantToEdit") "부분에 액세스하는 방법을 알려주십시오. 그 이유는 주문을받는 VC에있을 때 키를 선택하기 위해 애쓰는 것이기 때문입니다. 귀하의 통찰력에 다시 한번 감사드립니다. –
업로드 할 때 키를 가져올 수 있습니다. key = ref.child ("COrders"). childByAutoId(). key. 문제는 데이터가 저장되는 방식입니다. 사용자가있는 경우 모든 주문 또는 적어도 일부는 직접받을 수 있기를 원합니다. 주문을 사용자의 uid 아래에있는 autoid를 사용하여 저장 한 다음 해당 키의 일부 또는 전부를 가져옵니다. 스냅 샷을 반복 할 때 다음과 같은 키를 얻을 수 있습니다 : snap.children의 자식 { child = child를? DataSnapshot key = child 일 경우 .key { // do something } } – DoesData
감사합니다. 그 힙을 도움이 될 것입니다 ... 고맙습니다. –