嗨,我正在构建一个小应用程序来习惯 Meteor(和 Mongo)。困扰我的是数据建模方面。具体来说,建模多对多关系的最佳方法是什么。我在 Mongo 文档中读到,如果您希望文档在原始文档保持相当静态的情况下增长,则不应将其嵌入到另一个文档中。在我的测试应用程序中,学生可以注册课程。因此,从 Mongo 的角度来看,将学生作为嵌入式文档包含在课程中是有意义的,因为每门课程的学生数量都是有限的,而相反,随着时间的推移,学生理论上可以加入无限的课程。
然后是 Meteor 方面,我读到 Meteor 的许多功能都针对单独的集合,例如 DDP 在文档级别工作,因此学生数组中的任何更改都会导致整个课程文档重新发送到每个浏览器,并且诸如每个空格键助手之类的东西适用于 Mongo 游标,但不适用于数组等。
有没有人处理过类似的情况,他们能否解释他们采取的方法以及他们必须处理的任何缺点等?谢谢。