搜尋

首頁  >  問答  >  主體

node - mongodb 資料庫設計 mongoose schema

交易場景下的訂單表設計:

假設有四款產品,每款產品的訂單資料肯定是有相同的部分,如:訂單號碼、訂單所有人、訂單類型、訂單狀態、訂單追蹤時間線,同時不同產品的訂單也有自己特殊的數據。

是否針對不同的產品設計定義不同的 schema ,還是只定義一個訂單的schema,但指定一個 special
子文件用來儲存不同產品特有的資料 ?

是否根據產品類型的不同,將訂單分別儲存在不同的 collection 中,還是直接儲存在同一個訂單表中?

扔个三星炸死你扔个三星炸死你2720 天前1052

全部回覆(3)我來回復

  • phpcn_u1582

    phpcn_u15822017-06-16 09:21:06

    可以把訂單放在同一個collection裡面,用產品類型區分.
    沒有必要以不同類型放在不同collection,mongodb也是對這種非嚴格欄位對齊的資料而產生的.

    回覆
    0
  • 迷茫

    迷茫2017-06-16 09:21:06

    我認為肯定是放在一個集合下,畢竟不同的部分只有一點

    回覆
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-16 09:21:06

    建議考慮利用MongoDB的dynamic schema,意思是每個document不必要遵循相同的schema。

    官方文件有關於您類似的需求的data modeling的詳細說明,請參考下面的文檔連結:

    https://docs.mongodb.com/ecos...

    供參考。

    Love MongoDB! Have fun!

    回覆
    0
  • 取消回覆