RethinkDB数据结构

RethinkDB data structure

我是 RethinkDb 和 NoSql 的新手

1:我学到的是文档库数据库是数据驱动的,不管有什么数据,你只要把它放在数据库里就行了。这是它的主要好处。您不需要构建数据的模式或结构,数据会形成自己的结构

例如初始数据如下

{
 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:
     }
     ....
     ....
    ]
    ....
    ....
  }

每次就诊的患者姓名、年龄都保持不变,但他们的活动(如化验、处方、药物、手术等)每次就诊可能有多次。

所以我的问题是我可以深入到什么程度以及何时将数据分解成多个文档

谢谢

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

documentation on data modeling 概述了各种模型及其优缺点:

There are two ways to model relationships between documents in RethinkDB:

  • By using embedded arrays.
  • By linking documents stored in multiple tables (similar to traditional relational database systems).