我正在评估couchdb的持久购物车功能。如果我为每个用户创建一个docuemnt并将每个购物车项目作为字段,我可以存储多少个项目?在目前的情况下,我可以在购物车中最多包含500件商品。
答案 0 :(得分: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将允许您购物车中的重复项(用户点击重新加载并进行两次添加而不是一次)但只要购物车的显示显示此内容,并且最终结帐页面也是如此,那么我认为这是一种合理的失败模式。
答案 1 :(得分:1)
快速查看the CouchDB overview应该清楚地表明CouchDB文档中的字段数没有固有的限制,因此对于您可以存储的项目数量没有限制(除了可用内存)在你的购物车中。