2015-12-18 82 views
0

我們公司擁有數百萬商戶和數十億產品的mongodb集合。優化閱讀或插入

商家可以選擇隱藏,之後他們的產品不應該公開。

我想知道實現這一目標的最佳方式:我可以更新用戶的所有產品有一個隱藏的狀態

  1. 我可以將商家更新爲隱藏狀態,並根據每個產品請求瞭解是否顯示商家的狀態。

如果您遇到過這種困境,您會有什麼經驗?您認爲最好的工程方法是什麼?

回答

0

既然是商人隱藏而不是個別產品,你應該把商人的地位。

所以選項2在你的問題。

如果您尚未在您的數據庫中實施「隱藏」,請將其添加到您的表中,將其作爲NULLable添加到您的表中,默認爲FALSE。然後在查詢中查找可見商家的產品,您可以將where NOT merchant.hidden OR merchant.hidden IS NULL。這樣,當你將它添加到你的數據庫時,你不需要爲數百萬非隱藏的其他商家更新它。

0

Mongo的設計經常取決於你如何訪問數據。

如果您選擇一個商家,那麼他們的產品將隱藏的領域放在商家。

如果您選擇獨立於商戶的產品子集,您將在產品表中使用它。