Firebase를 테스트하기 시작했는데 색인 생성에 대해 한 가지 알아낼 수 없습니다. 나는 내가 읽은 것을 기반으로 구조를 만들고 있습니다 - Firebase Data Structuring - 사용자 및 그룹의 예제와 같습니다. JSON 나무는 다음과 같이 보입니다 :Firebase .indexOn 동적 키
{
"babies" : {
"-KQSVCXI-ZMz_lQ_Q906" : {
"name" : "Baby",
"parents" : {
"F0o8Gr5GC2SrakUYZpC20efcmk63" : true
}
},
"-KQSf4t9XQC3LnbsxLYS" : {
"name" : "Name2",
"parents" : {
"S6aO6Dx4lgg6anW9S9hu7EJrhVg1" : true
}
}
}
}
을 내가 부모를 위해 아기를 얻으려고 - 그룹의 구성원이 중포 기지의 예에서 있었다처럼. 내가 사용하여 아이폰 OS 응용 프로그램에서 그 일을 해요 : user.uid
는 현재 사용자의 ID입니다
self.babiesReference
.queryOrderedByChild("parents/\(user.uid)")
.queryEqualToValue(true)
.observeSingleEventOfType(.Value, withBlock: { (snapshot) in
// Print value
print(snapshot.value)
}
합니다. 이것은 잘 작동하지만 남아있는 유일한 문제는 다음과 같습니다.
불특정 색인 사용. ".indexOn"를 추가하는 것을 고려 : "부모/S6aO6Dx4lgg6anW9S9hu7EJrhVg1" 규칙 성능 향상을 위해 보안에/아기에
어떻게 인덱스 사용자의 ID를 제공하는이 "동적"아이에게? 그것을 할 수있는 방법이 있습니까, 아니면 나무 구조를 변경해야합니까?
감사합니다.
보안 규칙은 변수가있는 동적 키를 허용합니다. 인덱싱이 이들을 지원하는지 잘 모르겠지만 시도해 볼 가치가 있습니다. 자세한 내용은 https://firebase.google.com/docs/database/security/user-security를 참조하십시오. 규칙은/users/user/id 아래에있는 모든 키를 보호하는/users/$ user_id에 적용됩니다. –