2011-01-06 96 views

回答

3

你想要建立多对多模型将取决于你想问什么样的查询,你想要如何更新数据等等......假设我们有很多关于酒吧的foos,很多时尚。

你可以模拟一个Foo作为

{ 
    'bars': ['bar1', 'bar2', 'bar3'] 
} 

和酒吧建模为

{ 
    'foos': ['foo_x', 'foo_y', 'foo_z'] 
} 

或者你可以模拟富之间的图形或关系和酒吧,个人文件本身

{ 
    from: 'foo1', 
    to: 'bar1' 
} 

{ 
    from: 'foo1', 
    to: 'bar2' 
} 

{ 
    from: 'foo2', 
    to: 'bar3 
} 

{ 
    from 'foo3', 
    to: 'bar3' 
} 

还有很多其他的方法。你想如何去做,取决于你想问的问题,你想要支持的操作,你想要的效率以及数据库中可用的索引。

2

假设我们正在谈论其中的关系真的有必要,而不是只存在,因为SQL处理关系不是复杂的对象更好的那些情况下,设计类似于一个标准的SQL - 两个一对多的关系。

关键的区别是,你必须多值字段,所以不是一第三文档/表记录的单个连接为一对的id,则必须在每个文档中ID的列表。

如果碰上如该列表太长,你很可能在寻找的东西会被搜索索引比的关系更好地处理案件。

+0

他谈论文档 – 2011-01-06 12:25:01