在文档数据库设计中处理多对多关系的公认模式是什么?
最佳答案
您希望如何对多对多进行建模取决于您要询问的查询类型、您希望如何更新数据等......假设我们有与多对多方式的 bar 相关的 foos。
您可以将 foo 建模为
{
'bars': ['bar1', 'bar2', 'bar3']
}
并将酒吧建模为
{
'foos': ['foo_x', 'foo_y', 'foo_z']
}
或者您可以将 foo 和 bar 之间的图形或关系建模为单独的文档本身
{
from: 'foo1',
to: 'bar1'
}
{
from: 'foo1',
to: 'bar2'
}
{
from: 'foo2',
to: 'bar3
}
{
from 'foo3',
to: 'bar3'
}
还有很多其他的方法。你想怎么做取决于你想问的问题、你想要支持的操作、你想要高效的内容以及数据库中可用的索引。
关于database-design - Nosql 多对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4612426/