2012-03-11 4 views
0

私はスタッフの食堂のためのWebアプリケーションを構築しています - コメント、写真、評価、...このスキーマはMongoDBの使用でOKですか?

のようないくつかのソーシャル 機能を持つ私は、古典的なSQLでそれを作った最初の時間 - 関節の多くを結果 - 非常に醜い!

私は解決策としてMongoDBを使用することに決めました。 日ごとに1つの文書を作成します。それぞれには、ネストされたコメントと評価を含む多くのメニューが含まれています。 写真とユーザーがリンクされます。

私が開発を開始する前に、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 
} 

この使用法はこれでいいですか?

おかげで、質問のこの種のは、実際にはお答えできません

答えて

0

PascalTurboを割り当て。それがあなたのために働くなら、それは良いことです。問題がある場合は、根本的な原因を見つけて修正します。それは "醜い"とnosqlの土地に "クール"だからさまようので、あなたは働くソリューションを捨てるべきではありません。

バンプを打ち始めたら、ここに来て本当の質問をしてください。