鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ mongodb訂單schema設(shè)計(jì)問(wèn)題

mongodb訂單schema設(shè)計(jì)問(wèn)題

在github看到一個(gè)購(gòu)物項(xiàng)目,所有用戶訂單創(chuàng)建了一個(gè)schema1來(lái)存所有用戶訂單,用戶個(gè)人信息創(chuàng)建了schema2,schema2除了基本信息下面還有一個(gè)個(gè)人order:[ ]存儲(chǔ)個(gè)人訂單.

有一個(gè)疑問(wèn),既然schema1存了所有用戶訂單,用戶查自己訂單直接在schema1查是不是也可以,如果數(shù)據(jù)量大,在訂單個(gè)人userID創(chuàng)建索引,這樣用戶查自己訂單也應(yīng)該很快,這樣是不是沒(méi)必要建oredr:[ ].
另外根據(jù)訂單號(hào)查詢時(shí),mongodb在創(chuàng)建數(shù)據(jù)時(shí)生成唯一的_id,可不可以用此_id做一些處理作為訂單號(hào).

回答
編輯回答
挽青絲
  • 也許這個(gè)項(xiàng)目有所謂的歷史遺留問(wèn)題, 先有schema2.order。 再有schema1 。
  • 也是是技術(shù)老大想試試mongoArrey子集合分頁(yè)查詢好不好用。
  • 空間換時(shí)間。 數(shù)據(jù)庫(kù)輕輕松松破TB。

以上純屬妄言。。

另 : _id直接用做訂單id也可以啊, 本身mongo_id生成算法是分布式的一種id生成算法。時(shí)間戳+機(jī)器碼+進(jìn)程Id+隨機(jī)數(shù)

2018年3月4日 15:54