Couchdb 文档中的最大字段数是多少?

发布于 2024-12-03 11:58:40 字数 98 浏览 2 评论 0原文

我正在评估 couchdb 的持久购物车功能。如果我为每个用户创建一个文档并将每个购物车项目作为一个字段,我可以存储多少个项目?在当前场景中,我的购物车中最多可以有 500 件商品。

I am evaluating couchdb for a persistent cart functionality. If I create one docuemnt per user and have each cart item as a field, how many items can I store? In current scenario I can have upto 500 items in a cart.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

菊凝晚露 2024-12-10 11:58:40

doc-per-cart 或 doc-per-item 都是不错的选择,两个文档听起来都不会变得很大(对于非常大的文档,JSON 编码/解码速度较慢,并且它们必须完全保存在内存中)。总的来说,我更喜欢每个项目都有文档。当然,如果您使用 doc-per-item,则需要创建一个(简单)视图来显示购物车。

更喜欢 doc-per-item 的一个很好的理由是 CouchDB 的 MVCC。将商品添加到购物车总是会创建一个新文档,因此您不需要知道该商品的当前 _rev。当用户想要删除某个项目时,您将拥有 _id 和 _rev,并且可以轻松删除它。如果您使用 doc-per-cart 那么您将不断更新文档,这要求您始终拥有当前的 _rev。

请注意,“doc-per-item”将允许您的购物车中出现重复项(用户点击“重新加载”并添加两个而不是一个),但只要购物车的显示显示这一点,并且最终结账页面也显示这一点,那么我认为它是合理的失效模式。

doc-per-cart or a doc-per-item are both fine choices, neither document sounds like it would get very large (JSON encoding/decoding is slower for very large documents and they must be held entirely in memory). On balance, I'd prefer doc-per-item. Of course, you will need to create a (simple) view to display the cart if you went with doc-per-item.

One good reason to prefer doc-per-item is CouchDB's MVCC. Adding an item to a cart will always create a new document, so you will not need to know the current _rev of the item. When a user wants to delete an item, you will have the _id and the _rev and can easily delete it. If you went with doc-per-cart then you will be constantly updating a document, which requires you to have the current _rev all the time.

Note that doc-per-item will allow duplicates in your cart (the user hits Reload and makes two additions instead of one) but as long as the display of the cart shows this, and the final checkout page does too, then I think it's a reasonable failure mode.

花开半夏魅人心 2024-12-10 11:58:40

快速回顾一下CouchDB 概述应该会清楚地表明,对于CouchDB 文档中的字段数量,因此对您可以存储在购物车中的项目数量没有限制(除了可用内存)。

A quick review of the CouchDB overview should make it clear that there is no inherent limit on the number of fields in a CouchDB document, and therefore no limit (aside from available memory) to the number of items you can store in your cart.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文