2012-03-11 56 views
0

我建立一個web應用程序爲員工食堂 - 與一些社會 功能,如評論,圖片,收視率,...這個模式適用於MongoDB用法嗎?

我第一次與經典的SQL使它 - 很多關節,其中 結果 - 非常醜陋!

所以我決定使用MongoDB作爲解決方案。我將根據 一天構建一個文檔。每個菜單都包含很多帶有嵌套評論和評分的菜單。 圖片和用戶將被鏈接。

所以我纔開始發展,I'ld愛得到一些情緒, 所以這裏是我的架構(只用於演示,最後我會 軌建立它/ mongoid):

{ 
    id: DAY_ID, 
    timestamp: TIMESTAMP, 
    meals: [{ 
      id: MEAL_ID, 
      price: MEAL_PRICE, 
      category: MEAL_CATEGORY, 
      name: MEAL_NAME, 
      sides = ["SIDE1_NAME","SIDE2_NAME",...], 
      additives = [1,2,3,...], 
      comments: [{ 
        id: COMMENT_ID, 
        user_id: USER_ID, 
        value: "Tasts good" 
      },{ 
        id: COMMENT_ID, 
        user_id: USER_ID, 
        value: "Mhhhhhhhh!" 
      }], 
      ratings: [{ 
        user_id: USER_ID, 
        value: 5 
      },{ 
        user_id: USER_ID, 
        value: 3 
      }], 
      photos = [PHOTO_ID_1,PHOTO_ID_2,...] 
    },{ 
      .... next meal 
    }] 
} 

{ 
    Users will be linked 
} 

{ 
    Photos will be linked 
} 

這個用法可以嗎?

感謝配發 PascalTurbo

回答

0

這種問題不能真正回答。如果它適合你,那很好。如果有問題 - 找到根本原因並解決它。你不應該丟棄一個可行的解決方案,因爲它很「醜陋」,因爲它很「酷」而流入nosql的土地。

試試這個解決方案,如果你開始碰到顛簸,來這裏問一些真正的問題。