我多次问过,没有人给我正确答案。那么在Firebase中,这是正确的数据结构吗?
{
"users" : {
"-JNNJ-0ErS6kX5AFkfM3" : {
"userUid" : "simplelogin:66",
"userId" : "66",
"email" : "fd2@sdsa.cz"
}
"accounts" : {
"-JLXe5iaH-TLSBu0RJqp" : {
"currency" : "-JLXe--zoxk1DdKa9mAT",
"description" : "account1",
"name" : "account1"
},
"-JNJdqZouwAfEzmCSHTO" : {
"description" : "asdasd",
"name" : "dsad"
},
"-JLgcjINbZni6luTuPSY" : {
"currency" : "-JLXe--zoxk1DdKa9mAT",
"description" : "fefef",
"name" : "bkkjsdds"
}
},
"categories" : {
"-JLgd4W8COP6zOlhNdq9" : {
"color" : "#c55353",
"account" : "-JLXe5iaH-TLSBu0RJqp",
"description" : "fds",
"name" : "dsfdsfds"
}
},
"records" : {
"-JNNK2hnJ99dZqRmfsjs" : {
"date" : "2005-09-28T10:48",
"amount" : 123,
"description" : "description",
"category" : "-JLgd4W8COP6zOlhNdq9"
}
}
},
}
如果难以阅读,则有解释。
我有一个有密钥的用户。用户拥有帐户>每个帐户都有类别(每个类别都有一个帐户中的密钥)>每个类别都有记录(每个记录都有一个类别的密钥。
例如,一条记录(我正在描述参数):
记录的关键:-JNNK2hnJ99dZqRmfsjs 记录属于具有键的类别:-JLgd4W8COP6zOlhNdq9
来自Firebase的人不幸没有帮助我,我也不理解他们的单一教程。
这是正确的方法吗?我只想为每个用户提供数据(其他人无法看到其他用户的数据)。
编辑:
这是对的吗?我知道那个帖子。但我仍然不理解它。
在现实世界中这是正确的方式吗?
users
-JNNK2hnJ99dZqRmfsjs (key of user1 for example)
name
id
etc
accounts
-JLgd4W8COP6zOlhNdq9 (key of some account)
name
description
-KFTf6W8COP6zOlhNdq9 (key of user - account belongs to user and account has users reference - the key)
这是对的吗?
EDIT2:
看看这个: awesome.firebaseio-demo.com
Anant有一棵美丽的树:
users
user1
name
user2
name
他是怎么做到的?我以为我只能用钥匙工作。
答案 0 :(得分:1)
Firebase博客文章 - Denormalizing Your Data is Normal可帮助您获得正确的数据结构。
第二个问题(“其他人无法看到其他用户的数据)是关于security rules - 您必须确定谁可以读取数据。