Я пытаюсь использовать MongoDB, C # и NoRM для работы над некоторыми примерами проектов, но сейчас мне гораздо сложнее обернуть моя голова вокруг модели данных. С данными, связанными с СУБД, проблем нет. Однако в MongoDB мне сложно решить, что с ними делать.
Давайте воспользуемся StackOverflow в качестве примера ... У меня нет проблем с пониманием того, что большая часть данных на странице вопроса должна быть включена в один документ. Заголовок, текст вопроса, исправления, комментарии ... все хорошо в одном объекте документа.
Я начинаю терять уверенность в вопросе данных пользователя , таких как имя пользователя, аватар, репутация (которая особенно меняется довольно часто)... Вы денормализуете и обновляете тысячи записей документов каждый раз, когда происходит изменение пользователя, или вы каким-то образом связываете данные вместе?
Каков наиболее эффективный способ установить отношения между пользователями, не вызывая множества запросов при каждой загрузке страницы ? Я заметил тип DbReference
в NoRM, но пока не нашел отличного способа его использования. Что, если у меня есть необязательные отношения, допускающие значение NULL?
Спасибо за понимание!