2017-02-23 41 views
0

下面我有我认为是正确的域模型。我试图在json数据库上实现这一点,但我不知道我是否在正确的轨道上。从什么即时消息读取有关JSON的没有关系的对象之间如何链接对象。域模型在json数据库上实现不同的用户级别

正如你所看到的,有两种不同类型的用户,一个用户有一个车辆和一个司机。还有一个拥有多个车辆和多个司机的经理用户。

任何人都可以告诉我,如果我在正确的轨道上。

即时通讯使用firebase,所以我必须使用json。

Domain model

回答

0

在基于文档或面向对象的数据库,什么是以前一个关系在关系DATABSE转化为associations(你可能想了解aggregation太):

  • 1-1协会只是一个财产,持有该协会的另一方。客户拥有个人资料,个人资料由客户拥有。
  • 1-n关联由集合表示。在JSON中,它将是关联对象的数组。例如,一个订单有很多订单行
  • m-n关联由关联对象两侧的集合表示。例如,很多问题都是由许多作者编写的

顺便说一句,如果你严格遵循这种方法,你最终会得到一个聚合根(这是模型中最顶级的对象),这将是非常有害的,大多数NoSQL数据库都有嵌套和per-对象存储限制。

因此,您需要将所有可以独立生活的对象存储在不同的集合中(集合概念图到关系世界中的表),而那些始终与其他人关联并且不会直接查询的对象不拥有自己的藏品。例如:

  • 客户可能拥有自己的集合。
  • 订单行不能在订单之外生存。您可能永远不会立即查询所有订单的所有订单行...
相关问题