我已經開始測試Firebase,但我無法弄清楚有關索引的一件事。我正在根據我讀過的內容創建一個結構 - Firebase Data Structuring - 類似於用戶和組的示例。 JSON樹看起來是這樣的:Firebase .indexOn動態密鑰
{
"babies" : {
"-KQSVCXI-ZMz_lQ_Q906" : {
"name" : "Baby",
"parents" : {
"F0o8Gr5GC2SrakUYZpC20efcmk63" : true
}
},
"-KQSf4t9XQC3LnbsxLYS" : {
"name" : "Name2",
"parents" : {
"S6aO6Dx4lgg6anW9S9hu7EJrhVg1" : true
}
}
}
}
,我試圖讓嬰兒的父母 - 就像有在小組成員的火力地堡的例子。我做的是,在iOS的應用程序使用:
self.babiesReference
.queryOrderedByChild("parents/\(user.uid)")
.queryEqualToValue(true)
.observeSingleEventOfType(.Value, withBlock: { (snapshot) in
// Print value
print(snapshot.value)
}
其中user.uid
是當前用戶的ID。這工作正常,但唯一的問題仍然是這樣的:
使用未指定的索引。考慮加入「.indexOn」: ‘父母/ S6aO6Dx4lgg6anW9S9hu7EJrhVg1’在/嬰兒安全 規則獲得更好的性能
如何指數用戶的ID呈現這種‘動態’的孩子呢?有沒有辦法做到這一點,或者我必須改變樹結構嗎?
謝謝。
安全規則允許帶變量的動態密鑰。我不確定索引是否也支持這些,但值得嘗試。請參閱https://firebase.google.com/docs/database/security/user-security。規則在/ users/$ user_id上強制實施,以保護下面的任何關鍵字/用戶。 –