Mongodb Firebase数据库数据结构

Mongodb Firebase数据库数据结构,mongodb,firebase,firebase-realtime-database,Mongodb,Firebase,Firebase Realtime Database,我有一个很新的问题。 我对nosql数据结构非常陌生,因此我正在努力在Firebase DB中创建一个简单的数据模型(稍后我必须通过iOS应用程序访问)。 数据结构非常简单: 动词 措辞1 措辞2 措辞3 韦伯恩 形容词 形容词1 形容词2 形容词3 形容词 名词 名词1 名词2 名词3 名词 关键是Firebase要求我为每个值提供一对关键组合,而我有一对多的关系 谢谢你的帮助 编辑: 我本以为很清楚,但最终我错了。 每个动词、形容词、名词都是独一无二的,就像在字典里一样 因此,

我有一个很新的问题。 我对nosql数据结构非常陌生,因此我正在努力在Firebase DB中创建一个简单的数据模型(稍后我必须通过iOS应用程序访问)。 数据结构非常简单:

动词

  • 措辞1
  • 措辞2
  • 措辞3
  • 韦伯恩
形容词

  • 形容词1
  • 形容词2
  • 形容词3
  • 形容词
名词

  • 名词1
  • 名词2
  • 名词3
  • 名词
关键是Firebase要求我为每个值提供一对关键组合,而我有一对多的关系

谢谢你的帮助


编辑:

我本以为很清楚,但最终我错了。 每个动词、形容词、名词都是独一无二的,就像在字典里一样

因此,在“表”动词下,我们将有:

  • 移动
  • 转向 [等等]
  • 在形容词下面类似:

  • 可爱的
  • 无用的
  • 可编辑 [等等]

  • 基本上,我以后需要从我的移动应用程序中检索所有的动词、形容词、名词来造句。

    不确定“钥匙对”是什么意思-可能是钥匙:值对

    如果是这样的话,这样的结构将是一种选择

    Verbs
      -Y9j9j9jd9jd: verb1
      -Y8jsjjkksds: verb2
    Adjectives
      -UY99jsiosij: adjective1
      -Y8hisi9jds9: adjective2
    Nouns
      -Y78h9jsdjfd: noun1
      -Y8jsjosoos9: noun2
    
    动词、形容词和名词的每个子级现在都是一个键:值对和-Y。。。。是键,动词、形容词或名词是值

    是的。。。键由childByAutoId生成,是一个Firebase函数调用,用于创建唯一键

    使用此结构将允许您访问Y8JSJKKSDS以获取verb2,这将启用一对多关系-尽管您的问题中没有概述这种关系,因此我不确定是否需要更多数据

    或者,根据下面的评论——一个很好的观察结果——是文字可能是谨慎的,这样的结构就可以工作了:

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

    我希望每个集合中的项目都必须是唯一的,因此它更像是一个集合而不是一个数组。在这种情况下,我会将动词建模为键(
    “verb1”:true,“verb2”:true
    ),或者使用从动词派生的键(
    “verb1hash”:true,“verb2hash”:true
    )来防止重复。@FrankvanPuffelen极好的观点。使用该选项更新了答案。希望OP能澄清这个问题。你能用你的用例更新你的问题吗?为什么一对多?你在用这些数据做什么?每个单词都必须是唯一的吗?