2016-11-12 68 views
2

我是新来RethinkDb和NoSQLRethinkDB数据结构

1:我的教训是文档库DB是数据驱动的,以往的数据来了,你只是把它放在什么分贝。这是它的主要好处。你并不需要建立架构或数据结构,数据使自己的结构

例如最初数据如下

{ 
name: 
address: 
phone: 
} 

{ 
name: 
{ 
    firstname: 
    lastname: 
} 
address: 
    { 
    address1: 
    address2: 
    } 
phone: 
    { 
    phone1: 
    phone2: 
    } 
} 

两个数据是在文件,你必须调整你的应用程序。

我理解正确。这种方法是否正确?

2:我在做一个医院管理应用程序。我想知道有多少深,我可以创建一个文档

{ 
id: 
patient name: 
age: 
patient_activity: 
    { 
    lab: 
    [ 
    { 
     test_name: 
     test_results: 
    } 
    .... 
    .... 
    ] 
    xray: 
    [ 
    { 
     xray: 
     comments: 
    } 
    .... 
    .... 
    ] 
    .... 
    .... 
    } 

患者姓名,年龄将保持相同的为每一位光临,但像实验室测试,处方,药品的活动,操作等可每次访问的倍数。

所以我的问题是,我是多么的深层次可以去当打破数据分成多个文件

感谢

回答

2

据我所知,根据doc,ReQL的嵌套深度限制为20级。

+0

是好巢20个级别 – Jawad

+1

@Jawad它依赖。例如,如果你想通过嵌套字段来“过滤”表,如果会降低性能。换订订阅也一样。我建议保持嵌套级别<8-10。例如,您可以将某些字段移动到不同的表并通过id绑定数据(如SQL数据库中的外键)。 – Suvitruf

0

documentation on data modeling给出了各种模型和它们的优点和缺点的概述:

有两种方法在RethinkDB文档之间的关系进行建模:

  • 通过使用嵌入式阵列。
  • 通过链接存储在多个表中的文档(类似于传统的关系数据库系统)。