在Meteor中建模多对多的关系

时间:2016-02-23 15:10:47

标签: meteor meteor-collection2 meteor-collections nosql

您好我正在构建一个小应用程序以适应Meteor(和Mongo)。困扰我的是数据建模方面。具体来说,建立多对多关系的最佳方式是什么。我在Mongo文档中读到,如果您希望文档在原始文档保持相当静态的情况下增长,则不应将文档嵌入到另一个文档中。 在我的测试应用程序中,学生可以注册课程。因此,从Mongo的角度来看,将学生作为课程中的嵌入式文档包含在内是有道理的,因为每门课程的学生人数有限,反之亦然,随着时间的推移,学生理论上可以加入无限的课程。 / p>

然后是Meteor方面,我读到很多Meteor的功能都针对不同的集合,例如在文档级别工作的DDP,因此学生阵列中的任何更改都会导致整个课程文档被重新发送给每个人浏览器,每个空格键助手都可以使用Mongo游标,但不能使用数组等等。

有没有人处理类似的情况,他们可以解释他们采取的方法和他们必须处理的任何缺点等?感谢。

2 个答案:

答案 0 :(得分:0)

查看此文章:https://www.discovermeteor.com/blog/reactive-joins-in-meteor/ 并使用此https://kadira.io/

测试您的可能解决方案的效果

答案 1 :(得分:0)

更好地使用指南: http://guide.meteor.com/data-loading.html#publishing-relations

Meteor团队以惊人的程度驯服(或隐藏!)javascript怪物。通过使用他们的惯例,你可以免费获得#34;大量使用的功能"开箱即用"。通常重复发明的事情,账户,OAuth,客户端的实时数据,标准的实时数据协议等。

但很快......你需要的功能不在盒子里。哇...看看所有的选择。等一下,这就是你在流星之前战斗的怪物!

因此请使用官方的流星指南。当您做出这些选择时,他们会建议最明智的方法来扩展您应用的功能。

因为他们知道他们是如何隐藏怪物的,所以他们知道如何在你伸展时继续避开怪物。