RavenDb NoSQL多对多建模

问题描述 投票:1回答:1

我是NoSQL数据库(RavenDb)的新手,我想知道哪种是对以下情况进行建模的最佳方法:

我正在做医疗咨询的预订日历。根据医学专业和诊疗类型(第一或次要),有几种类型的医疗咨询。因此,例如,心脏病的第一次医学咨询需要30分钟,而随后的心脏咨询需要15分钟。每个专业都有其持续时间。

问题出在有些医生的咨询时间与普通医生不同。因此,通常,第一次心脏病诊疗需要30分钟,但是当医生是John Rapid时,只需要20分钟。

在这种情况下,我们以前有一张表格,其中列出了与这些罕见医生的诊疗类型之间的特殊持续时间。因此,我们对该表进行了左连接,如果有这种类型的咨询记录并选择了医生,我们将在此表中花费时间。如果没有记录,我们将采用咨询类型的标准值。

我应该继续使用这种方法并查询另一个集合以查看是否有不同的时间安排,或者最好将此信息包括在咨询类型的集合中?

nosql ravendb
1个回答
0
投票

为什么不简单地创建一个“医生”集合,每个文档都可以像这样:

{ 
    "Name": "John the Rapid",
    "speciality": "Cardiaology",
    "FirstConsultationTime": "20",
    "SecondConsultationTime": "10",
}

就是这样。

或者,对于“普通”医生,您可以在此[[same集合中创建外观更细的文档,如下所示:

{ "Name": "John the Rapid", "speciality": "Cardiaology" }
并且当您查询医生时,如果'时间'字段不存在,那么您将使用一些默认值(30分钟)...
© www.soinside.com 2019 - 2024. All rights reserved.