我是Firebase的数据结构的新手。
我读了这个:https://firebase.google.com/docs/database/ios/structure-data
我知道有必要使用扁平化的结构。
但是我不确定如何在现实世界中做到这一点。
我认为要正确使用Firebase rules
,我需要一个合适的结构(但我对此没有经验)。
我有2种数据类型:
零件列表:
parts: {
part1: {
chapter1: {
lesson1,
lesson2,
...etc
},
chapter2: {
lesson1,
lesson2,
...etc
},
chapterX: {
...etc
},
},
part2: {
chapter1: {
lesson1,
lesson2,
...etc
},
chapterX: {
...etc
},
},
partX: {
...etc
}
}
以及用户列表:
users: {
user1: {
name,
email,
...etc
},
user2: {
name,
email,
...etc
},
user3: {
...etc
},
etc...
}
我正在考虑像这样构建Firebase数据库:
{
users: {
$uid: {
name,
email,
...
}
},
checked: {
user1: {
parts: {
part1: true
},
chapters: {
chapter1: true,
chapter2: true
},
lessons: {
lesson1: true,
lesson7: true,
lesson15: true,
}
},
user2: {
parts: {
part3: true
},
chapters: {
chapter1: true
},
lessons: {
lesson18: true,
lesson57: true,
}
}
}
}
对于Firebase rules
:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
},
"checked": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}
这是正确的方法吗?
rules
可以吗?
谢谢!
答案 0 :(得分:2)
根据您提供的信息,您在做正确的事情。规则还可以。数据库的结构适合您想要读取它们的方式,因此您在做正确的事情。