什么是在文档数据库设计处理许多一对多的关系接受的形式?NOSQL许多一对多
7
A
回答
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的列表。
如果碰上如该列表太长,你很可能在寻找的东西会被搜索索引比的关系更好地处理案件。
相关问题
- 1. 冬眠许多一对多
- 2. 许多一对多查询
- 3. Laravel:一对多,许多对一个模型一对多关系
- 4. 许多一对多与关联对象
- 5. 许多一对多和多对一一个关系
- 6. NHibernate的许多一对一
- 7. 为NSPredicate过滤许多一对多,多对多关系
- 8. Hibernate的一对一允许多对一
- 9. Grails的许多一对多的关系
- 10. FluentNHibernate许多一对多的儿童
- 11. 抛出:IllegalArgumentException休眠许多一对多
- 12. Hibernate的许多一对多删除
- 13. 重新使用许多一对多表
- 14. MySQL的许多一对多的补集
- 15. 雄辩许多一对多的关系
- 16. laravel:许多一对多的关系
- 17. 轨复杂许多一对多查询
- 18. LINQ许多一对多路口
- 19. Laravel许多一对多的关系
- 20. Django的许多一对多查询
- 21. Laravel 5 - 许多一对多的关系
- 22. MySQL的许多一对多SELECT查询
- 23. SQLAlchemy的许多一对多关联类
- 24. SQLAlchemy的许多一对多加入
- 25. 填充许多一对多表访问
- 26. NHibernate的许多一对多标准
- 27. FluentNhibernate许多一对多和逆()
- 28. SQL查询许多一对多关系
- 29. JPQL检查许多一对多关系
- 30. 许多一对多的实体框架
他谈论文档 – 2011-01-06 12:25:01