我有名为Students
和Teachers
的收藏集。学生可以给老师留下评论。因此,这是一个多对多的关系。我决定创建一个名为Reviews
的集合,其中包含student_id
,teacher_id
和review_text
。但是我认为这不是最好的方法。为什么?如果客户想要某位老师的评论列表,以及留下的学生姓名,我需要对数据库进行太多请求。从客户端获取teacher_id
后,我可以从Reviews
收藏集中获取评论列表。但是问题是我在那个集合中没有student_name
。要获取它,我需要从Students
集合中请求它。我需要为每次审核执行此操作。但是,如果我也将student_name
保存在Reviews
集合中怎么办。但是在这种情况下,当学生发表评论时,我从客户student_id
,teacher_id
和review_text
那里获得,但是要将学生姓名保存在Reviews
集合中,我需要获取用student_id
标记学生的姓名,然后保存。我想第二种选择比拳头好。但这是解决问题的最佳选择吗?我是否需要一个单独的收藏夹来保留所有评论?