2014-05-20 82 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