Typ*_*son 58 many-to-many relational-database mongodb document-database
我有两张桌子/收藏品; 用户和组.用户可以是任意数量的组的成员,用户也可以是任意数量的组的所有者.在关系数据库中,我可能有第三个名为UserGroups的表,其中包含UserID列,GroupID列和IsOwner列.
我正在使用MongoDB,我确信在文档数据库中存在这种关系的不同方法.我应该将Users表中的groups和groups-as-owner列表作为两个ObjectID数组嵌入吗?我是否还应该将Groups表中的成员和所有者列表存储为两个数组,从而有效地镜像导致重复关系信息的关系?
或者,桥接UserGroups表是文档数据库中用于多对多关系的合法概念?
谢谢
Ale*_*scu 35
我所看到的,我目前使用的是每个文档中包含节点ID的嵌入式数组.
所以文档user1有属性组:[id1,id2]
并且文档group1具有属性用户:[user1].文档组2还具有属性用户:[user1].
这样您就可以获得一个Group对象并轻松选择所有相关用户,并为User提供相同的用户.
创建和更新对象时,这需要更多的工作.当您说2个对象相关时,您必须更新这两个对象.
MongoDB中还有一个概念DBReferences,根据您的驱动程序,它会在检索文档时自动拉取引用的对象.
http://www.mongodb.org/display/DOCS/Database+References#DatabaseReferences-DBRef
| 归档时间: |
|
| 查看次数: |
24452 次 |
| 最近记录: |