2016-03-05 75 views
1

我正在開發一個有很多關係的項目。我想知道哪一個是存儲數據的最佳方法。在mongodb中存儲數據的最佳方式

  1. 創建child_model,然後將_id推送到parent_model。
  2. 在父模型內部創建child_model,我們推動整個數據不僅僅是_id。
+1

事實是,沒有「最好的辦法」。對於應用程序如何使用數據,只有真正的「最好」。基本的區別是基於你是否大部分時間都一起閱讀父母和孩子的數據,並且在某種程度上也是這樣更新的。另一方面,父母和孩子的分離是重要的,無論是由多少孩子,或者甚至可能在這些孩子條目的更新一致性對您而言非常重要的情況下。沒有一個非常詳細和具體的用例,它實際上不是一個或另一個答案。 –

+0

我想DDD aproach。在不同集合中分離域實體。但是值對象必須是一個文檔中實體的一部分。這是有效的,導致大部分時間你需要閱讀完整的實體。當然,這不是一個直接的規則 – Retardust

回答

1

沒有「最好的方式」,兩者都有時是最好的。這真的取決於你的用例和這樣的問題:

  • 你需要加載或存儲你的孩子有時單獨加載你的父母嗎? - >單獨的模型。
  • 或者當您需要孩子時,您是否需要隨時加載父母? - >相同型號
  • 你的孩子總是隻能屬於一個家長嗎? - >相同的模型
  • 將多個父母或其他物體參考一個孩子? - >單獨的模型
  • 是你的孩子的一生總是與你的父母的一生相同 - >相同的模型
  • 可以一生的不同嗎?你的孩子能否與你的父母「分離」 - >單獨的模型。

想想這些問題,並決定什麼最適合您的用例。