我刚刚开始一个使用Mongoid ORM for MongoDB的新Rails 3项目。只有一件事我无法理解,那就是如何有效地建立多对多的关系。现在我很有可能错误地处理这个问题,但据我所知,在我的项目中至少有两个容器需要多对多的关系。我宁愿将这两个模型都视为“头等舱”模型,并将它们分配给各自的容器。重新思考MongoDB的关系多对多关系
这是我能想到的构建最简单的方法我的许多一对多的关系:
// Javascript pseudo modeling
// -------------------- Apps
{
app: {
_id: "app1",
name: "A",
event_ids: ["event1","event2"]
}
}
{
app: {
_id: "app2",
name: "B",
event_ids: ["event1"]
}
}
// -------------------- Events
{
event: {
_id: "event1",
name: "Event 1",
}
}
{
event: {
_id: "event2",
name: "Event 2",
}
}
据我可以告诉这是最少量信息需要推断一个多TO-很多关系。我的假设是,我可能必须有一个地图缩小程序来确定哪些应用程序属于一个事件。如果应用程序添加到事件模型或从事件模型中删除,我还必须在事件上编写提交/保存挂钩以更新App.event_ids。
我在正确的轨道上吗?如果有人有任何Mongoid或Mongomapper代码的多对多关系示例工作,请分享一下。
谢谢。这是我采取的方法。我张贴我如何实施下面。 – 2010-07-19 20:31:16