2014-05-20 57 views
0

我问了好几次,没有人给我正确的答案。所以在Firebase中,这是否是正确的数据结构?Firebase的用户数据结构

{ 
    "users" : { 
    "-JNNJ-0ErS6kX5AFkfM3" : { 
     "userUid" : "simplelogin:66", 
     "userId" : "66", 
     "email" : "[email protected]" 
    } 
    "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从火力地堡

人遗憾的是没有帮助我的人,我不明白他们的单教程

是。这是这样做的正确方法?我只想拥有dat a为每个用户(其他人无法看到其他用户的数据)。

编辑:

这是正确的吗?我知道这个帖子。但我仍然不明白。

在现实世界中,这是正确的方式?

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

阿南特有美丽的树:

users 
    user1 
    name 
    user2 
    name 

他是如何做到的呢?我以为我只能用钥匙工作。

+0

您必须共享帐户参考用户(他的关键)。然后。这是正确的方式。阿南特只用读密钥,但它并不重要。 – Casero

回答

1

Firebase博客文章 - Denormalizing Your Data is Normal可帮助您获得正确的数据结构。

第二个问题(“没有其他人无法看到其他用户的数据)约为security rules - 你必须确定谁可以读取数据

+0

我知道这个职位,但我还是不明白。 在现实世界中这是正确的方式? 用户 -JNNK2hnJ99dZqRmfsjs(关键user1) name id etc accounts -JLgd4W8COP6zOlhNdq9(有些账户的钥匙) 名 描述 -KFTf6W8COP6zOlhNdq9(用户的关键 - 帐户属于用户帐户的用户参考 - 键) 这是正确的吗? – Kotora

+0

请看我的问题。我已经编辑它。 – Kotora