2011-09-08 98 views
1

我正在評估couchdb的持久性購物車功能。如果我爲每個用戶創建一個文檔並將每個購物車項目作爲一個字段,則可以存儲多少個項目?在目前的情況下,我可以在購物車中購買多達500件物品。Couchdb文檔中字段的最大數量是多少?

回答

1

the CouchDB overview的快速回顧應該清楚地表明,對於CouchDB文檔中的字段數沒有固有的限制,因此對您可以存儲在購物車中的物品數量沒有限制(除了可用內存) 。

2

doc-per-cart或doc-per-item都是很好的選擇,這兩種文檔聽起來都不會很大(對於非常大的文檔JSON編碼/解碼速度較慢,而且它們必須完全保留在內存中) 。總的來說,我更喜歡doc-per-item。當然,如果您以doc-per-item的形式出現,您將需要創建一個(簡單)視圖來顯示購物車。

喜歡doc-per-item的一個很好的理由是CouchDB的MVCC。將商品添加到購物車將始終創建新文檔,因此您無需知道商品的當前_rev。當用戶想要刪除一個項目時,您將擁有_id和_rev,並且可以輕鬆刪除它。如果你使用doc-per-cart,那麼你將會不斷地更新一個文檔,這就要求你一直擁有當前的_rev。

請注意,doc-per-item將允許您的購物車中有重複項(用戶點擊重新加載並進行兩次添加而不是一次),但只要購物車的顯示屏顯示此消息,並且最終結帳頁也會顯示,那麼我認爲這是一個合理的失敗模式。

+0

doc-per-item很有意義,謝謝羅伯特。 – Romi

相關問題