2012-03-11 5 views
0

Я строю веб-приложение для столовой персонала - с некоторыми социальными функциями, как комментарии, фотографии, рейтинги, ...Эта схема подходит для использования 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 
} 

Это нормально для этого использования?

Благодаря Allot PascalTurbo

ответ

0

Такого рода вопросы не могут действительно быть дан ответ. Если это сработает для вас, это хорошо. Если есть проблемы - найдите основную причину и исправьте ее. Вы не должны отказываться от рабочего решения, потому что оно «уродливое» и блуждает по nosql-земле, потому что это «круто».

Попробуйте это решение, и если вы начинаете удары, приходите сюда и задайте некоторые реальные вопросы.

Смежные вопросы