Нет «лучшего способа», оба из которых являются лучшими. Это действительно зависит от вашего варианта использования и таких вопросов:
- Нужно ли загружать или хранить своих детей иногда отдельно без загрузки родителя? -> отдельные модели.
- или вам нужно будет загрузить родителя в любом случае все время, когда вам нужен ребенок? -> та же модель
- может ли ваш ребенок всегда принадлежать ровно одному родителю? -> та же модель
- будет ли несколько родителей или других объектов ссылаться на ребенка? -> отдельные модели
- - это срок службы вашего ребенка, всегда идентичный сроку службы вашего родителя -> та же модель
- Может ли жизнь быть другой? может ли ваш ребенок когда-либо «отделиться» от вашего родителя -> отдельных моделей.
подумайте об этих вопросах и решите, что лучше всего подходит для вашего случая использования.
Правда в том, что нет «лучшего способа». Существует только тот, который является «лучшим» для того, как ваше приложение использует данные. Основное различие основано на том, все ли вы в основном читаете как родительские, так и дочерние данные во все время, и в некоторой степени обновляете этот способ. Или, с другой стороны, когда разделение родителя и ребенка важно, будь то огромное количество детей или, возможно, даже если согласованность обновлений этих дочерних записей действительно важна для вас. Без действительно подробного и конкретного варианта использования, это действительно не тот или другой ответ. –
Я бы хотел, чтобы DDD aproach. Отдельные объекты домена в разных коллекциях. Но объекты ценности должны быть частью объекта в одном документе. Это работает, потому что больше всего времени вам нужно, чтобы прочитать полную сущность. Конечно, это не правильное правило. – Retardust