蒙古族关系

时间:2011-05-12 13:18:51

标签: mongoid mongodb

拜托,你能说我,想想我好不好?

我有两个对象ExhibitionStand。在我的逻辑Exhibition has_many Stands中。 我想用mongodb。首先,我可以做展台嵌入式展台。但是几个展览可以包含相同的展位。在此之后我想,最好创建两个文档(集合):ExhibitionStand并模仿关系引用。

     1.Is it good idea?

如果这是个好主意,那么我在展览文件字段stand_ids中创建,这将是阵列,我将推动这个领域必要的站点ID。

     2.When i push ids in Exhibition and after this i 
       want to delete reference stand in Stands document. 
       How will be better to destroy id in Exhibition.stand_ids.

     3.Think i by relational or it is good practice?

3 个答案:

答案 0 :(得分:2)

如果您正在处理关系,则应使用关系数据库。如果您的数据具有结构,则使用no​​SQL解决方案是没有意义的。

我对你的建议是使用最适合这项工作的工具。您正在尝试做的事情似乎是关系数据库的理想选择。

答案 1 :(得分:0)

class Exhibition
  embeds_many :stands
end

class Stand
  embedded_in :exhibition
end

在每个班级中使用上述关系。

答案 2 :(得分:0)

我认为这篇文章适合您http://www.mongodb.org/display/DOCS/Schema+Design

使用案例

客户/订单/订单行项目

  

订单应该是一个集合。客户收藏。 line-items应该是一个嵌入在订单对象中的行项目数组。

博客系统。

  

帖子应该是一个集合。作者可能是一个单独的集合,或者仅仅是一个电子邮件地址的帖子中的字段。注释应该是帖子中的嵌入对象以提高性能。

架构设计基础

Kyle Banker,10gen

  

http://www.10gen.com/presentation/mongosf2011/schemabasics

索引&查询优化 Alvin Richards,企业工程高级总监

  

http://www.10gen.com/presentation/mongosf-2011/mongodb-indexing-query-optimization

* 这2个视频是mongoddb上见过的最好的视频