2
我有這樣的直接消息之後的火力點數據結構聊天:由孩子返回結果火力地堡順序沒有孩子
{
"dms" : {
"meta" : {
"1-2" : {
"lastMessage" : "Inadvertently",
"lastMessageFrom" : 5,
"lastMessageKey" : "-KhUHUqK9WfUJcjs2fQ-",
"timestamp" : 1491952336485,
"users" : {
"uid-1" : {
"lastMessageRead" : {
"key" : "-KhStVBVIfRGepiWt6cn"
}
},
"uid-2" : {
"lastMessageRead" : {
"key" : "-KhSrksAgg_2TqmcLjsz"
}
}
}
}
}
}
}
如果用戶ID爲1
,我只想要檢索的節點,其中users.uid-1
存在。在斯威夫特,我認爲這看起來像:
FIRDatabase.database().reference().child("dms").child("meta").queryOrdered(byChild: "users/uid-3").observe(.value, with: { (snapshot) in
if let snapshots = snapshot.children.allObjects as? [FIRDataSnapshot] {
...
但正在恢復每dms
節點。例如,我正在查詢上面的uid-3
,但它會返回我提供的數據結構示例中的節點。我究竟做錯了什麼?
您是否嘗試向觀察者添加一個更多的子級別? '''... child(「users」)。queryOrdered(byChild:「uid-3」)。observe ......''' – Prientus
@Prientus不會給我結果中的用戶節點嗎?我需要以'1-2'開頭的節點作爲關鍵字,以便獲得'lastMessage ...'元數據。此外,「用戶」不是「元」的孩子,所以我不知道如何工作。 – Tony