问题标签 [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 投票
1 回答
4679 浏览

database - 使用 cURL 创建一个 couchdb 独立附件

我目前正在使用 couchdb 并测试“独立附件”功能,该功能在本页底部附近进行了描述。

我正在尝试使用 curl 的 --data-urlencode 功能来发送创建请求,但只有一半有效。我可以创建附件并检索它,但 Content-Type 字段错误,因此图像无法正确显示。

更准确地说,CouchDB 似乎可以通过使用与发布的相同内容类型返回附件来工作。(这是完全明智的 IMO)我的问题是 curl 没有发送正确的代码。这是详细信息;

所以这个问题的简短版本是;如何让 cURL 发送正确的 Content-Type ?

编辑:

我发布我的另一个错误是使用 --data-urlencode,什么时候让它工作我需要使用 --data binary @filename 以及 Dale 建议的 -H 选项。

0 投票
1 回答
475 浏览

unit-testing - 在 Pylons 中对 Couchdb 模型进行单元测试

给定默认的 pylons 安装,是否有任何关于单元测试 CouchDB 模型的最佳实践的示例?

0 投票
3 回答
7890 浏览

couchdb - 多个键范围作为 CouchDB 视图的参数

根本问题 - 假设我的文档有“类别”时间戳。如果我想要时间戳在过去两个小时内的“foo”类别中的所有文档,这很简单:

然后查询为

当我在过去两个小时内想要foobar类别的东西时,问题就来了。如果我不在乎时间,我可以直接通过键集合通过键拉。不幸的是,我对范围没有这样的选择。

在此期间我最终做的是将时间戳四舍五入到两个小时的块,然后将查询多路复用:

它可以工作,但是如果我想返回大量时间(与块大小有关)会变得混乱。

有没有办法将多个 startKey/endKey 对发送到视图,类似于可以为键发布的键:[] 数组?

0 投票
2 回答
6096 浏览

couchdb - 在 Emit 中包含文档与 CouchDB 中的 include_docs = true 相比

我在某处提到过这样做emit(key, doc)会增加索引构建所需的时间(或类似的东西)。

emit(key, null)它有什么优点吗,有什么理由不总是这样做include_docs = true吗?

0 投票
1 回答
797 浏览

couchdb - 查询视图时 CouchDB 退出

当我访问时/mydatabase/_design/assets/_view/all,我收到以下错误:

"{"error":"EXIT","re​​ason":"{function_clause,\n [{couch_httpd,handle_db_request,\n [{mochiweb_request, ..."

这是我的视图文件:

我在这里想念什么?

0 投票
6 回答
4742 浏览

couchdb - CouchDB 多标签

有没有办法在 CouchDB 中实现多个标签搜索?我有每个带有多个标签的文档(帖子)。我需要找到带有任意一组标签的帖子。我该怎么做?我当然可以通过多次调用视图来完成此操作,该视图为我提供标签的文档,然后在我的应用程序中对其进行排序,但我想知道是否有办法在 CouchDB 视图中实现相同的目的。

0 投票
3 回答
986 浏览

couchdb - 多个开发人员保持 CouchDB 彼此同步

我正在考虑将 CouchDB 用于即将进行的 Web 开发项目。

在本地运行应用程序的各个开发人员之间保持 CouchDB 文档存储库同步的最佳方法是什么?

示例:假设开发人员 A 在 Couch 中创建了一个新视图或设计文档,或者只是简单地将一个字段添加到现有视图中。他们还签入一些期望该字段位于 CouchDB 视图中的客户端代码。开发人员 B 进来并更新到最新的源代码,拉下开发人员 A 的客户端更改。开发人员 B 如何获得伴随客户端代码的 Couch 更改?

在典型的 RDBMS 中,这将通过检查一组 SQL 文件或数据库迁移到 SCM 系统来完成。开发人员 B 更新他的代码后,他将运行新的 SQL 或迁移脚本来升级他的数据库模式。

也许在 Couch 中有一种方法可以导出/导入设计文档并查看定义并将它们检查到 SCM 系统中?也许我只需要对我的 RDBMS 后台洗脑进行反编程。

0 投票
1 回答
1485 浏览

couchdb - 哪个是最适合 RDBMS 背景人员的 Key-Value Store?

在所有键值存储中是否有明显的赢家?Cassandra、MongoDB、CouchDB?他们都遵循一些中央指导方针吗?或者他们在定义 API 时都有自己的发言权。

我在问这个问题,尤其是从刚接触键值存储的 RDBMS 技术人员的角度来看。我们应该遵循哪一个来最好地掌握对该领域的理解/使用?

我们从他们的理论中了解到 RDMS,即所有可用的 DB(Oracle、SQL Server 等)都将具有所有工件,例如表、索引、外键等。唯一的区别是效率、安全性和特性。

我如何知道这些以文档为中心的数据库的普遍理论,并知道所有这些数据库(Mongo、Couch 等)将拥有的最小工件是什么?

0 投票
1 回答
357 浏览

javascript - 用于导出 XML 的 Javascript 库

我目前正在使用 couchdb 将文档存储为 JSON。我的一位客户需要获取 XML(目前)。任何人都知道可以采用 javascript 对象(或 json 字符串)并导出有效 xml 的任何好的 javascript 库吗?

谢谢!

0 投票
7 回答
7509 浏览

php - PHP 中的分布式系统剖析

我有一个问题让我很难找到理想的解决方案,为了更好地解释它,我将在这里公开我的场景。

我有一个服务器,它将接收来自多个客户的订单。每个客户端将提交一组应在某些指定时间间隔执行的重复任务,例如:客户端 A 提交应在 2009-12-31 和 2010-12-31 之间每分钟执行一次的任务 AA;所以如果我的数学是正确的,那就是一年大约有 525 600 次操作,考虑到更多的客户端和任务 ,让服务器处理所有这些任务是不可行的,所以我想出了工作机器的想法。服务器将在 PHP 上开发。

工人机器只是 我将在家里或工作场所托管的基于 Windows 的普通计算机,每个工人都将拥有一个专用的 Internet 连接(具有动态 IP)和一个 UPS,以避免停电。每个工作人员还将每 30 秒左右通过 Web 服务调用查询服务器,获取下一个待处理的作业并处理它。作业完成后,工作人员将向服务器提交输出并请求新作业,以此类推。如果需要扩展系统,我应该设置一个新的工人,整个事情应该无缝运行。worker 客户端将使用 PHP 或 Python 开发。

在任何给定时间,我的客户都应该能够登录到服务器并检查他们订购的任务的状态。

现在这里是棘手的部分:

  • 如果由于某种原因服务器出现故障,我必须能够重建已经处理的任务。
  • 工作人员不是特定于客户的,一名工作人员应该为任何给定数量的客户处理工作。

我对一般数据库设计和使用哪些技术有一些疑问。

最初我想使用几个SQLite数据库并将它们全部连接到服务器上,但我不知道如何按客户端分组以生成作业报告

我从未真正使用过以下任何技术:memcachedCouchDBHadoop等,但我想知道这些技术中的任何一个是否适合我的问题,如果是,你推荐给新手的是像我一样的“分布式计算”(或者这是并行的?)。请记住,工作人员具有动态 IP。

就像我之前说的那样,我在一般数据库设计方面也遇到了麻烦,部分原因是我还没有选择任何特定的 R(D)DBMS,但是我有一个问题,我认为它与我选择的 DBMS 无关到排队系统...我应该预先计算特定作业的所有绝对时间戳并拥有大量时间戳,按升序执行并将它们标记为完整,还是应该有一个更聪明的系统,例如“当时间戳模数 60 = = 0 -> 执行“。这种“聪明”系统的问题在于,一些工作不会按应有的顺序执行,因为一些工作人员可能在等待无所事事,而另一些工作人员则超载。你有什么建议?

PS:我不确定这个问题的标题和标签是否正确反映了我的问题以及我正在尝试做的事情;如果不是,请相应地编辑。

感谢您的输入!

@timdev:

  1. 输入将是一个非常小的 JSON 编码字符串,输出也将是一个 JSON 编码字符串,但稍大一些(大约 1-5 KB)。
  2. 输出将使用来自 Web 的几个可用资源进行计算,因此主要瓶颈可能是带宽。数据库写入也可能是一个 - 取决于 R(D)DBMS。