我在mongodb
中有一个名为Order
的收藏集。它具有许多字段,下面将提到其中的一些字段:
订购
{
"id": "1",
"name": "Hello1",
"orderType": "Type1",
"date": "2016-09-23T15:07:38.000Z"
...... //11 more fields
}
在上面的collection
中,我只提到了4个字段,但是在实际的集合中,我大约有15个字段。 Order
可以有2种类型:Type1
或Type2
。在orderType
字段中提及。
现在,对于Type2
顺序,我拥有所有15
字段,但它也有其他5-7字段。我只有一个Order
集合,我想知道应该为每种类型的订单创建2
个不同的集合吗?或者我是否只能保留此集合并仅在此处添加其他字段。我已经编写了大多数逻辑,只考虑了1个集合,将它做成2个不同的集合值得吗?如果我只保留一个收藏集,我会在性能方面失去任何东西吗?
答案 0 :(得分:2)
在性能上,在single collection
上保留数据通常会更好,因为您可以在单个查询中获得所需的数据。
由于这个问题,我通常可以认为这是one-to-one relationship,因此嵌入式文档将是有益的。其次,您自己说的是,您仅考虑了一个集合就已经编写了大多数逻辑,那么您应该只进行一个集合。除非您有one-to-many relationships。
我建议您通过Data Model Design并了解何时以及哪种模型更好。
答案 1 :(得分:2)
嵌入文档最好,因为您具有一对一的关系。有关更多信息,请检查here。