2016-09-09 2 views
1

Firebase 3.0을 처음 사용하고 코딩 중이며 특정 노드 ID를 가져 와서 쓰는 데 문제가 있습니다. 아래 예에서 방금 사용자를 생성했으며 이제 해당 사용자를 특정 기능에 추가하려고합니다. 어떻게 "어퍼 발"이라는 시설을 검색 할 다음에 사용자를 추가 그것은Firebase 3.0 항목/Swift에 대한 키 값 검색 방법

현재 :

application 
    -facilities 
     -KRFGFn7TzKR8D0bMLW 
      facName: "Upper Paw" 
      facPhone: "5122223333" 
    -users 
     -MqrvHRBTRcPzrvAOdkklBzeFW7E2 
      firstName: "Ronnie" 
      lastName: "Last" 

목표 : 여기

application 
    -facilities 
     -KRFGFn7TzKR8D0bMLW 
      facName: "Upper Paw" 
      facPhone: "5122223333" 
      users: 
       -MqrvHRBTRcPzrvAOdkklBzeFW7E2 
        firstName: "Ronnie" 
        lastName: "Last" 
    -users 

     -MqrvHRBTRcPzrvAOdkklBzeFW7E2 
      firstName: "Ronnie" 
      lastName: "Last" 

는 값을 끌어 내 코드입니다 (모든 시설 데이터를 가져 오지만 Upper Paw에 대한 시설을 쿼리하고 찾는 방법을 모르고 추가 데이터를 작성하는 방법을 잘 모르는 경우)

let facRef = rootRef.child("facilities") 

      facRef.observeSingleEventOfType(.Value, withBlock: { (snapshot) in 

      print(snapshot.value) 
+1

에서 [아이폰 OS는 코드 랩에 대한 (https://codelabs.developers.google.com/codelabs/firebase-ios-swift/) 몇 가지 아이디어를 줄 것이다 시작하는 방법에 대해 이러한 학습 내용을 자신의 프로젝트로 번역하는 데 문제가있는 경우 이미 시도한 코드를 표시하십시오. 그렇지 않으면 우리는 가장 교육적이지 않은 코드를 작성하고 있습니다. –

+0

감사합니다. 프랭크! 나는 마침내 당신의 도움으로 시설 키를 얻고 그 시설 아래 facEmployee로서 현재 사용자를 추가 할 수있었습니다. 다시 한 번 감사드립니다! –

답변

1
let facRef = rootRef.child("facilities") 

let faqQuery = facRef. queryOrderedByChild("facName"). queryEqualToValue("Upper Paw") 

faqQuery.observeSingleEventOfType(.ChildAdded, withBlock: { (snapshot) in 

    print(snapshot.value) 

자세한 내용은 Firebase documentation on querying을 참조하십시오.

데이터 수정 방법은 Firebase documentation on saving data을 참조하십시오. 당신의 블록이 될 수 있다는 기준 자료 :

snapshot.ref.child("facMember").setValue("Ronnie L") 
1
let ref = FIRDatabase.database().reference(fromURL: "DATABASE_URL") 
    let usersRef = ref.child("users") 
    usersRef.queryOrdered(byChild: "facName").queryEqual(toValue: "Upper Paw").observeSingleEvent(of: .value, with: { (snapshot) in 
    print(snapshot) 
    })