我是NoSQL数据库(RavenDb)的新手,我想知道哪种方法是最好的方法来建模以下情况:
我正在做医疗会诊的预约日历。根据医学专业和咨询类型(先诊或次诊),有几种类型的医疗咨询。例如,心脏病科的第一次医疗会诊需要30分钟,而第一次15分钟。每个专业都有其持续时间。
当一些医生的会诊时间与一般医生不同时,问题就出现了。因此,通常,第一次心脏科会诊需要30分钟,但当医生是约翰快速,它只需要20分钟。
对于这种情况,我们过去有一张表格,把咨询类型和这些罕见的医生联系在一起,里面有特殊的时间。所以我们用这张表左转,如果有这种类型的会诊和选择的医生的记录,我们在这张表中应用了时间。如果没有记录的话,我们采用咨询类型的标准值。
我应该继续使用这种方法并查询另一个集合来查看是否有不同的时间,还是更好地将此信息包含在咨询类型的集合中?
发布于 2019-12-16 11:04:20
为什么不简单地创建一个“医生”集合,每个文档都可以这样:
{
"Name": "John the Rapid",
"speciality": "Cardiaology",
"FirstConsultationTime": "20",
"SecondConsultationTime": "10",
.....
}仅此而已。
另外,对于“常规”医生,您可以在这个相同的集合中创建更瘦的文档,如下所示:
{
"Name": "Some other name",
"speciality": "Cardiaology",
.....
}当你询问医生时,
如果“time”字段不存在,则使用一些默认值(30分钟和15分钟).
您可能需要阅读:https://ravendb.net/learn/inside-ravendb-book/reader/4.0/3-document-modeling#document-modeling
https://stackoverflow.com/questions/59353816
复制相似问题