Я знакомлюсь с Монго, но, исходя из опыта СУБД, сталкиваюсь с, вероятно, очевидными вопросами, касающимися денормализации и общего моделирования данных.
Если у меня есть тип документа с массивом вспомогательных документову каждого подчиненного документа есть код состояния.
В реляционном мире я бы добавил в запись внешний ключ StatusId, просто.В mongodb вы бы денормализовали ключевые фрагменты данных из «статуса», например, Code и desc, и содержали бы objectid, ссылаясь на другую коллекцию надлежащего статуса.Я предполагаю, что следующий вопрос касается дизайна: если статус документа будет изменен, то мне нужно будет изменить денормализованные данные?
Еще один вопрос на ту же тему: как бы вы смоделировали таблицу транзакций, скажем я?У событий и людей события могут быть весьма гранулированными, скажем, в расписаниях, которые со временем могут привести ко многим записям.Исходя из того, что я видел, это может показаться хорошим кандидатом для дочернего / подчиненного массива документов, конечно, который можно индексировать по скорости.
Следовательно, можно запросить / найти только субмассив или его часть?И учитывая ограничение в 16 МБ для размера документа, и я просто ограничил историю транзакций человека?Или история транзакций должна быть отдельной коллекцией с onjid, ссылающейся на человека?
Спасибо за любой ввод
Сэм