2016-03-05 4 views
1

Я разрабатываю проект, где есть много отношений. Я хочу знать, какой из них является лучшим методом хранения данных.Лучший способ хранения данных в mongodb

  1. создать child_model, а затем нажать _id на parent_model.
  2. Создайте child_model внутри родительской модели, мы нажимаем целые данные не только _id.
+1

Правда в том, что нет «лучшего способа». Существует только тот, который является «лучшим» для того, как ваше приложение использует данные. Основное различие основано на том, все ли вы в основном читаете как родительские, так и дочерние данные во все время, и в некоторой степени обновляете этот способ. Или, с другой стороны, когда разделение родителя и ребенка важно, будь то огромное количество детей или, возможно, даже если согласованность обновлений этих дочерних записей действительно важна для вас. Без действительно подробного и конкретного варианта использования, это действительно не тот или другой ответ. –

+0

Я бы хотел, чтобы DDD aproach. Отдельные объекты домена в разных коллекциях. Но объекты ценности должны быть частью объекта в одном документе. Это работает, потому что больше всего времени вам нужно, чтобы прочитать полную сущность. Конечно, это не правильное правило. – Retardust

ответ

1

Нет «лучшего способа», оба из которых являются лучшими. Это действительно зависит от вашего варианта использования и таких вопросов:

  • Нужно ли загружать или хранить своих детей иногда отдельно без загрузки родителя? -> отдельные модели.
  • или вам нужно будет загрузить родителя в любом случае все время, когда вам нужен ребенок? -> та же модель
  • может ли ваш ребенок всегда принадлежать ровно одному родителю? -> та же модель
  • будет ли несколько родителей или других объектов ссылаться на ребенка? -> отдельные модели
  • - это срок службы вашего ребенка, всегда идентичный сроку службы вашего родителя -> та же модель
  • Может ли жизнь быть другой? может ли ваш ребенок когда-либо «отделиться» от вашего родителя -> отдельных моделей.

подумайте об этих вопросах и решите, что лучше всего подходит для вашего случая использования.

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