我正在开发一个使用MongoDB的医疗应用程序。我有一个用户和案例集合。尽管Mongo是非关系数据库,但它确实提供了引用相关集合并使用populate嵌入相关文档的功能。鉴于此,我的问题是这个。
在我的案例集合中,我有一个Doctors字段,该字段引用了Users集合。我需要经常告诉医生名字。因此
1)我可以将医生姓名和ID一起嵌入到Cases集合中
Cases Schema = {
Doctors = [{id: ObjectID, name: String}]
}
2)我只能将医生ID的数组存储在Cases集合中,并使用填充来获取所需的用户字段。
Cases Schema = {
Doctors = [{type: ObjectID}]
}
哪种方法对查询更有效?该方法的优缺点是什么?