交易場景下的訂單表設計:
假設有四款產品,每款產品的訂單資料肯定是有相同的部分,如:訂單號碼、訂單所有人、訂單類型、訂單狀態、訂單追蹤時間線,同時不同產品的訂單也有自己特殊的數據。
是否針對不同的產品設計定義不同的 schema ,還是只定義一個訂單的schema,但指定一個 special
子文件用來儲存不同產品特有的資料 ?
是否根據產品類型的不同,將訂單分別儲存在不同的 collection 中,還是直接儲存在同一個訂單表中?
phpcn_u15822017-06-16 09:21:06
可以把訂單放在同一個collection裡面,用產品類型區分.
沒有必要以不同類型放在不同collection,mongodb也是對這種非嚴格欄位對齊的資料而產生的.
女神的闺蜜爱上我2017-06-16 09:21:06
建議考慮利用MongoDB的dynamic schema,意思是每個document不必要遵循相同的schema。
官方文件有關於您類似的需求的data modeling的詳細說明,請參考下面的文檔連結:
https://docs.mongodb.com/ecos...
供參考。
Love MongoDB! Have fun!