2017-04-19 20 views
0

我的數據模型Xcode的火力地堡查詢獲取spacific數據

{ 

"channels":{ 
    "channel_key_0":{ 
     "creator":"pqr", 
     "name":"Channel-1", 
     "participant":{ 
      "id_1":"Jack", 
      "id_2":"Harry" 
     } 
    }, 
    "channel_key_1":{ 
     "creator":"xyz", 
     "name":"Channel-2", 
     "participant":{ 
      "id_3":"Jerry", 
      "id_2":"Harry" 
     } 
    } 
} 

}

從上述結構給出我想要獲取的僅在參與者都有價值"id_1": "Jack"通道。

我是Firebase數據庫的新手。需要幫助來編寫這個查詢。我嘗試了幾件事FIRDatabase.database().reference().child("channels").queryOrdered(byChild: "participant").queryEqual(toValue: "Jack", childKey: "id_1"),但給我空數據。

結構的改進也是受歡迎的。我的想法是通過應用這種結構來建立個人聊天。

回答

0

試試這種方式。

let ref = FIRDatabase.database().reference().child("channels") 
ref.queryOrdered(byChild: "participant/id_1").queryEqual(toValue: "Jack") 
    .observeSingleEvent(of: .value, with: { snapshot in 

    print(snapshot) 
}) 
+0

完美...感謝哥們。 –

+0

快速問題....你有任何想法如何使用正則表達式''參與者/ id_1'像'參與者/ any_thing'的地方? –

+0

@JayPandya我沒有嘗試過這樣的事情。 :(如果我找到合適的例子,會在這裏迴應 –