2016-03-05 74 views
1

我正在开发一个有很多关系的项目。我想知道哪一个是存储数据的最佳方法。在mongodb中存储数据的最佳方式

  1. 创建child_model,然后将_id推送到parent_model。
  2. 在父模型内部创建child_model,我们推动整个数据不仅仅是_id。
+1

事实是,没有“最好的办法”。对于应用程序如何使用数据,只有真正的“最好”。基本的区别是基于你是否大部分时间都一起阅读父母和孩子的数据,并且在某种程度上也是这样更新的。另一方面,父母和孩子的分离是重要的,无论是由多少孩子,或者甚至可能在这些孩子条目的更新一致性对您而言非常重要的情况下。没有一个非常详细和具体的用例,它实际上不是一个或另一个答案。 –

+0

我想DDD aproach。在不同集合中分离域实体。但是值对象必须是一个文档中实体的一部分。这是有效的,导致大部分时间你需要阅读完整的实体。当然,这不是一个直接的规则 – Retardust

回答

1

没有“最好的方式”,两者都有时是最好的。这真的取决于你的用例和这样的问题:

  • 你需要加载或存储你的孩子有时单独加载你的父母吗? - >单独的模型。
  • 或者当您需要孩子时,您是否需要随时加载父母? - >相同型号
  • 你的孩子总是只能属于一个家长吗? - >相同的模型
  • 将多个父母或其他物体参考一个孩子? - >单独的模型
  • 是你的孩子的一生总是与你的父母的一生相同 - >相同的模型
  • 可以一生的不同吗?你的孩子能否与你的父母“分离” - >单独的模型。

想想这些问题,并决定什么最适合您的用例。