问题标签 [couchdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
31099 浏览

database - 我可以在 CouchDB 中进行事务和锁定吗?

我需要做事务(开始、提交或回滚)、锁定(选择更新)。我怎样才能在文档模型数据库中做到这一点?

编辑:

情况是这样的:

  • 我想经营一个拍卖网站。
  • 我也认为如何直接购买。
  • 在直接购买中,我必须减少项目记录中的数量字段,但前提是数量大于零。这就是为什么我需要锁和事务。
  • 我不知道如何在没有锁和/或事务的情况下解决这个问题。

我可以用 CouchDB 解决这个问题吗?

0 投票
4 回答
16703 浏览

pagination - CouchDB 中的分页?

我将如何实施分页所需的查询?

基本上,当请求第 1 页时,获取前 5 个条目。对于第 2 页,获取下一个 5,依此类推。

我计划通过 couchdb-python 模块使用它,但这对实现没有任何影响。

0 投票
6 回答
49097 浏览

database - 基于文档的数据库与关系数据库的优缺点

我一直在尝试查看是否可以使用基于文档的数据库(在本例中为 CouchDB)来满足某些要求。两个通用要求:

  • 具有某些字段的实体的 CRUD,这些字段上具有唯一索引
  • 像 eBay 这样的电子商务网络应用程序(这里有更好的描述)。

而且我开始认为基于文档的数据库不是满足这些要求的最佳选择。此外,我无法想象基于文档的数据库的用途(也许我的想象力太有限了)。

当我尝试使用面向文档的数据库来满足这些要求时,如果我向榆树问梨,你能向我解释一下吗?

0 投票
4 回答
3041 浏览

couchdb - 最终一致性

我正处于设计必须具有高可用性和可扩展性的应用程序的早期阶段。出于多种原因,我想为此使用最终一致性数据模型。我知道并理解为什么对于许多解决方案来说这是一个不受欢迎的架构选择,但在我的情况下它很重要。

我正在寻找现实世界的建议、最佳实践和在处理分布式/文档式数据库时要注意的问题。尤其是围绕电子商务(购物车风格)应用程序的领域,这些应用程序传统上更容易与关系数据库组合在一起。

我知道使用这些类型的数据库具有挑战性,但是,嘿,谷歌和 E-bay 使用它们,所以它们不会那么难;-) 任何建议都将不胜感激。

0 投票
1 回答
1248 浏览

javascript - CouchDB + Datamapper + View = 无 ID

我正在使用 couchdbx v. 0.8.1 和 datamapper 0.9.8。我写了一些简单的视图,从其他示例中复制了一些。如果我用浏览器查询视图,它们会返回 id。如果我在 ruby​​ 中使用 datamapper 查询它们,我不会得到任何 id。我已经用谷歌搜索了好几天,一直在 IRC 上查看沙发和 datamapper 谷歌组。我试过降级我的datamapper和couchdb。没有什么。还有其他人遇到这个问题吗?

0 投票
7 回答
53758 浏览

database - 为什么我应该使用基于文档的数据库而不是关系数据库?

为什么我应该使用像 CouchDB 这样的基于文档的数据库而不是使用关系数据库。是否存在基于文档的数据库比关系数据库更适合的典型应用程序或领域?

0 投票
1 回答
1620 浏览

sql-server - 批量加载 CouchDB 时遇到的问题

我在 MSSQL 2005 中有大约 15k 行要迁移到 CouchDB 中,其中一行是一个文档。我有一个 CLR-UDF,它将n行写入一个模式绑定的 XML 文件。我有一个将模式绑定的 XML 转换为 JSON 的 XSL 转换。

使用这些现有工具,我想我可以将 MSSQL 转换为 XML 到 JSON。如果我为每个 JSON 文件批处理n行,我可以编写 cURL 脚本以循环遍历文件并使用批量 API 将它们发布到 CouchDB _bulk_docs

这行得通吗?以前有人做过这样的迁移吗?你能推荐一个更好的方法吗?

0 投票
3 回答
2123 浏览

caching - 多服务器缓存

我正在构建一个涉及多个服务器的应用程序。(4台服务器,每台都有一个数据库和一个网络服务器。1个主数据库和3个从属服务器+一个负载均衡器)

有几种方法可以启用缓存。现在它相当简单而且根本没有效率。所有缓存都在所有服务器之间的 NFS 分区共享上完成。NFS 是架构中的瓶颈。

  1. 我有几个想法实现缓存。它可以在服务器级别(本地文件系统)上完成,但问题是当所有服务器上的内容已更新时使缓存文件无效:它可以通过具有小的缓存寿命来完成(效率不高,因为缓存将尽快刷新,应该是大部分时间)
  2. 它也可以通过消息传递系统(例如 XMPP)来完成,其中每个服务器相互通信。负责缓存失效的服务器向所有其他服务器发送请求,让他们知道缓存已失效。延迟可能更大(每个人都需要更多时间才能知道缓存已失效),但我的应用程序不需要原子缓存失效。
  3. 第三种方法是使用云系统来存储缓存(如 CouchDB),但我不知道这个的性能。它比使用 SQL 数据库更快吗?

我计划使用 Zend Framework,但我认为它并不相关(除了其他框架中可能存在一些包来处理 XMPP、CouchDB)

要求:持久缓存(如果服务器重新启动,缓存不应丢失,以避免在重新创建缓存时关闭服务器)

0 投票
1 回答
112 浏览

javascript - 我需要做什么才能让 JS3 环境(或至少 couchdb)启动并运行?

我主要是前端编码员,但我对服务器端编程或命令行并不陌生。无论如何,关于设置服务器和诸如此类的东西,我还有很多东西要学习,所以我想知道是否有人可以帮助我整理一些在(最好是)ubuntu 上设置 CouchDB 的步骤。

这是我的主要目标,但如果可能的话,我也想让“JS3”环境运行起来。有关更多信息,请参阅此帖子

我最挣扎的事情是知道我需要安装哪些包以及如何获取它,以便我可以在本地主机上的浏览器中工作。感谢您能给我的任何指示。

0 投票
3 回答
721 浏览

couchdb - 在 CouchDB 上实现用户评分/收藏

我正在考虑将 CouchDB 用于即将推出的网站,但就如何为该网站实施用户评分系统而言,我有点困惑。基本上,每个内容项都可以由给定用户评分。在 CouchDB 模型中,哪种方式最有意义?我认为最干燥和最合乎逻辑的方法是拥有 3 种不同的文档类型,内容、用户和一个看起来像这样的 user_rating 文档。

然后,我将创建一个视图,其中地图是由内容文档 id 键入的所有内容文档和 user_rating 文档的集合,reduce 计算评级的平均值并返回由内容文档 id 键入的内容文档。

这是最好的方法吗?我还没有找到很多关于 CouchDB 最佳实践的资源,所以我不太确定所有这些东西。

我的结论:下面接受的答案(我几乎要实现的)确实有效,但请注意,文档需要由内容文档 ID 键入,这使得基于其他文档属性的高级查询很麻烦。我将回到 SQL 来满足我在这个应用程序中的需求。