交易场景下的订单表设计:
假设有四款产品,每款产品的订单数据肯定是有相同的部分,如:订单号、订单所有人、订单类型、订单状态、订单追踪时间线,同时不同产品的订单也有自己特殊的数据。
是否针对不同的产品设计定义不同的 schema ,还是只定义一个订单的schema,但是指定一个 special
子文档用来存储不同产品特有的数据 ?
是否根据产品类型的不同,将订单分别存储在不同的 collection 中,还是直接存储在同一个订单表中?
交易场景下的订单表设计:
假设有四款产品,每款产品的订单数据肯定是有相同的部分,如:订单号、订单所有人、订单类型、订单状态、订单追踪时间线,同时不同产品的订单也有自己特殊的数据。
是否针对不同的产品设计定义不同的 schema ,还是只定义一个订单的schema,但是指定一个 special
子文档用来存储不同产品特有的数据 ?
是否根据产品类型的不同,将订单分别存储在不同的 collection 中,还是直接存储在同一个订单表中?
建议考虑利用到MongoDB的dynamic schema,意思是每一个document不必要遵循相同的schema。
官方文档有关于您类似的需求的data modeling的详细说明,请参看下面的文档链接:
https://docs.mongodb.com/ecos...
供参考。
Love MongoDB!Have fun!
5 回答4.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
1 回答3.2k 阅读
可以把订单放在同一个collection里面,用产品类型区分.
没有必要按不同类型放在不同collection,mongodb也是对这种非严格字段对齐的数据而产生的.