2016-11-08 1 views
1

자식 노드 잡아 최신 변화 :중포 기지 + 스위프트 :이처럼 보이는 <code>locations-orders</code> 테이블이

enter image description here

난 단지 기록에 추가되는 최신 순서를 (잡아하려는

이미 그 안에있는 다른 모든 명령들은 아닙니다.) 이는은 (참고로 나는 위치 주문 키를 하드 코딩) 작동하지 않습니다, 내가 무엇을 가지고 :

static func observeOrders(lId: String, f: @escaping (AppState.Order) ->()) { 
    FIRDatabase.database().reference(withPath: "locations-orders/5P9TF215PZ3ZV") 
     .child("orders") 
     .queryEnding(atValue: nil) 
     .queryLimited(toLast: 1) 
     .observe(.childAdded, with: { firebaseSnapshot in 

     let orderObject = firebaseSnapshot.value as! [String: AnyObject] 

     print("orderObject") 
     print(orderObject) // <-------------------- only prints once, never prints again 


     let order = AppState.Order(
     title: orderObject["name"] as! String, 
     subtitle: orderObject["item_variation_name"] as! String, 
     createdAt: Date(timeIntervalSince1970: TimeInterval(orderObject["created_at"] as! Int/1000)), 
     name: "name", 
     status: AppState.Order.Status.Pending 
    ) 

     f(order) 
    }) 
    } 

내 쿼리에 어떤 문제가 있습니까?

답변

1

간단히합시다. 마지막 항목을 추가하고 새 항목을 추가하려면 다음과 같이하십시오.

let ref = "your orders path" 
ref.queryLimited(toLast: 1) 
    .observe(.childAdded, with: { snapshot in 
    print(snapshot?.value) 
}) 
관련 문제