【发布时间】:2014-01-01 16:13:06
【问题描述】:
我对新的 firebase.util 包感兴趣,它允许您加入数据(路径),以及我如何能够继续使用 UML 建模,因为我已经习惯了多年.我可以看到以这种方式建立一对多关系是多么容易。由于 firebase 是分层的,因此组件关系非常自然。
聚合关系可以避免,因为我们都习惯于在 javascript 中这样做 - 在我看来,强制聚合关系似乎不会成为使用 firebase 对成功项目进行建模的障碍...
我的问题是是否有人尝试过 |成功了|可以展示如何表示多对多关系的示例,可能通过加入连接路径本身。
如果我对这个问题没有太大兴趣,我可能会发布我自己的试错结果...
谢谢
【问题讨论】:
-
这个问题是非常开放的,也许如果你有一个具体的例子,你想为多对多关系建模,我们可以提供帮助吗?
-
多对多关系的一个例子是组和成员。例如。一个人可以是多个群组的成员,而一个群组可能有多个成员。
-
Sorry Anant,进一步的研究让我相信,虽然联接是 firebase 的一项强大的新功能并且有许多很棒的新用途,但 firebase 中的数据无法实现多对多关系这次没有复制数据(如果要求是双向的)。我的想法是我可以将关系分离成一个单独的对象并使用连接遍历这些关系。是的,您可以通过连接来做到这一点,但它是单向的。为了使它成为双向的,我们需要某种形式的引用类型(除了原语、数组和对象),它不是对象字面量。
-
而且,我们需要拥有多个键的能力...
-
是的,你是对的 - 多对多关系需要对数据进行非规范化,这些博文中有更多信息:firebase.com/blog/2013-04-12-denormalizing-is-normal.htmlfirebase.com/blog/2013-10-01-queries-part-one.html 和 firebase.com/blog/2014-01-02-queries-part-two.html