在我的Firebase数据库中,我有一个用户可以创建的节点列表。例如:
car: {
$uid: {
data...
}
}
所有用户都可以创建car
。但是,用户应该被允许获取他们所创建的car
个节点。
我尝试了一些安全规则和查询,将用户uid
存储在每个car
中,以便我知道哪个用户创建了它。但是我没有运气。
如果有人可以提供一个如何实现这一目标的简单示例,我们将不胜感激。安全规则和查询的组合使我的大脑失去了一点!
感谢。
答案 0 :(得分:1)
这样的事情:
{
"rules": {
"cars": {
"$uid": {
".write": "auth.uid == $uid",
".read": "auth.uid == $uid"
}
}
}
}
使用这些规则,登录用户可以在自己的cars
子节点下创建他们想要的任何内容。如果您只希望他们一次创建/更新/删除一辆汽车,那么您可以:
{
"rules": {
"cars": {
"$uid": {
".read": "auth.uid == $uid",
"$carid": {
".write": "auth.uid == $uid"
}
}
}
}
}
在这些规则中,用户仍然可以读取他们的整个汽车列表。但他们一次只能创建/更新/删除一辆汽车。