2017-03-06 119 views
-2

我有一個非常新手的問題。 我對nosql數據結構非常陌生,因此我努力在Firebase DB中創建一個簡單的數據模型(我將不得不通過iOS應用程序訪問它)。 的數據結構是非常簡單的:Firebase數據庫數據結構

動詞

  • verb1
  • verb2
  • verb3
  • 動詞Ñ

形容詞

  • adjective1
  • adjective2
  • adjective3
  • 形容詞Ñ

名詞

  • 名1
  • 名2
  • noun3
  • 名詞ň

的一點是,火力地堡是問我要鑰匙夫婦爲每個值,而我有一個一對多的關係。

感謝您的幫助!


編輯:

我想很清楚,但我最終還是錯了。 每個動詞,形容詞,名詞在單詞詞典中都是獨一無二的。

因此下的 「表」 的動詞,我們將有:

  1. 我恨
  2. 移動
  3. 運行
  4. 打開 [等等]

下的形容詞是這樣的:

  1. 可愛
  2. 無用
  3. 編輯 [等等...]

基本上我需要從我的移動應用程序中檢索所有動詞 - 形容詞 - 名詞來形成句子。

+0

你能和你的使用情況更新您的問題嗎?爲什麼一對多?你在做什麼數據?每個單詞需要獨特嗎? – Jay

回答

1

不確定'鑰匙夫婦'是什麼意思 - 也許是一個關鍵:價值對?

如果是這樣的結構將是一個選項

Verbs 
    -Y9j9j9jd9jd: verb1 
    -Y8jsjjkksds: verb2 
Adjectives 
    -UY99jsiosij: adjective1 
    -Y8hisi9jds9: adjective2 
Nouns 
    -Y78h9jsdjfd: noun1 
    -Y8jsjosoos9: noun2 

動詞的每個孩子,形容詞和名詞現在是一個關鍵:值對與-Y ....是關鍵和動詞,形容詞或名詞是價值。

-Y ...鍵由childByAutoId生成,並且是一個Firebase函數調用,用於創建唯一鍵。

使用此結構將允許您訪問Y8jsjjkksds以獲取verb2,這將啓用一對多關係 - 儘管您的問題中未概述該關係,因此我不確定是否需要更多數據。

或者,按照下面的評論 - 一個優秀的善於觀察 - 是可以一直謹守的話那麼像這樣的結構將工作:

Verbs 
    verb1: true 
    verb2: true 
Adjectives 
    adjective1: true 
    adjective2: true 
Nouns 
    noun1: true 
    noun2: true 
+0

我期望每個集合中的項目都必須是唯一的,因此它比*數組更* * *。在這種情況下,我將模型化爲動詞作爲關鍵字(''verb1「:true,」verb2「:true')或者使用從動詞派生的關鍵字('」verb1hash「:true,」verb2hash「 :true')來防止重複。 –

+0

@FrankvanPuffelen優秀的一點。用該選項更新了答案。希望OP會澄清這個問題。 – Jay