我剛剛開始一個使用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