我們公司擁有數百萬商戶和數十億產品的mongodb集合。優化閱讀或插入
商家可以選擇隱藏,之後他們的產品不應該公開。
我想知道實現這一目標的最佳方式:我可以更新用戶的所有產品有一個隱藏的狀態
- 。
- 我可以將商家更新爲隱藏狀態,並根據每個產品請求瞭解是否顯示商家的狀態。
如果您遇到過這種困境,您會有什麼經驗?您認爲最好的工程方法是什麼?
我們公司擁有數百萬商戶和數十億產品的mongodb集合。優化閱讀或插入
商家可以選擇隱藏,之後他們的產品不應該公開。
我想知道實現這一目標的最佳方式:我可以更新用戶的所有產品有一個隱藏的狀態
如果您遇到過這種困境,您會有什麼經驗?您認爲最好的工程方法是什麼?
既然是商人隱藏而不是個別產品,你應該把商人的地位。
所以選項2在你的問題。
如果您尚未在您的數據庫中實施「隱藏」,請將其添加到您的表中,將其作爲NULLable添加到您的表中,默認爲FALSE。然後在查詢中查找可見商家的產品,您可以將where NOT merchant.hidden OR merchant.hidden IS NULL
。這樣,當你將它添加到你的數據庫時,你不需要爲數百萬非隱藏的其他商家更新它。
Mongo的設計經常取決於你如何訪問數據。
如果您選擇一個商家,那麼他們的產品將隱藏的領域放在商家。
如果您選擇獨立於商戶的產品子集,您將在產品表中使用它。