问题标签 [couchdb-futon]

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 回答
351 浏览

couchdb - 如何使用蒲团管理列表功能?

有没有一种方法可以让列表函数的蒲团显示结果并帮助我像使用 map/reduce 函数一样编辑它们?

0 投票
1 回答
3562 浏览

json - 识别 CouchDB 中的重复项

一般来说,我是 CouchDB 和面向文档的数据库的新手。

我一直在玩 CouchDB,并且能够熟悉创建文档(使用 perl)和使用 Futon 中的 Map/Reduce 函数来查询数据和创建视图。

我仍在试图弄清楚的一件事是如何使用 Futon 的 Map/Reduce 识别文档中的重复值。

例如,如果我有以下文件:

而且我想获取具有重复“名称”值的文档 ID 列表,这是我可以用 Futon Map/Reduce 做的吗?

希望达到的结果如下:

..或者..

.. 这将是值,以及包含这些重复值的相关文档 ID。

我已经用 Map/Reduce 尝试了一些不同的东西,但据我了解,Map 函数在每个文档的基础上处理数据,而 Reduce 函数只允许您使用给定的键/值文档。

我知道我可以用 perl 提取我需要的数据,在那里发挥作用,并获得我想要的结果,但我现在只尝试使用 CouchDB,以便更好地了解它的好处/限制。

我正在考虑这样做的另一种方法是使用单个文档,例如 RDBMS 表:

..这应该允许我以我最初认为的方式使用 Map/Reduce 函数。但是我不确定这是否理想。

我知道我的思想仍然停留在 RDBMS 领域,所以我在上面尝试做的很多事情可能没有必要。对此的任何见解将不胜感激。

谢谢!

编辑:修复了一些示例中的 JSON 语法。

0 投票
1 回答
4322 浏览

couchdb - couchdb & futon - 有没有办法使用蒲团取消连续复制

有没有办法使用蒲团取消连续复制?

我的一位开发人员在尝试将模板数据库复制到他的工作环境时开始遇到这个有趣的错误。

在摆弄了一段时间后,测试我设法重现了这个问题,我发现他可能错误地检查了被褥中的“连续”复选框。

现在,我们正在开发 Windows。没有魔法卷曲的东西。好吧,显然我可以从 linux 为他解决问题,但我很好奇。

有没有办法使用蒲团取消连续复制?

0 投票
2 回答
223 浏览

couchdb - CouchDB 上的多主机配额

我希望为 CouchDB 提供一些免费托管服务。授权部分相当简单(用户可以访问 1 个数据库),但我想知道是否有任何简单的方法可以为该数据库/用户分配空间配额。

0 投票
1 回答
4021 浏览

couchdb - CouchDB 授权逻辑?

我确实阅读了http://guide.couchdb.org/draft/security.html

和上一个问题 CouchDB Authorization on a Per-Database Basishttp://wiki.apache.org/couchdb/Security_Features_Overview

我目前正在使用 Apache CouchDB 1.2.0 并通过 futon 添加管理员导致在 _users 添加用户

所以第一个问题是为什么将管理员添加为用户类型而不是管理员是令人费解的。该用户是管理员,因为他们可以在任何数据库中执行任何操作,并且角色为空,但我确实保护了 _users 文档

作为唯一成员和管理员的角色可以访问它(即使他们在 _users 文档中的角色为空)。

此保护不允许创建新的“普通”用户,因此蒲团“注册”命令将返回注册错误:您无权访问此数据库。

我认为这种设置是唯一合乎逻辑的设置。为什么您希望任何人都能够在您的数据库上创建用户?

即使您将数据库中的读取权限指定为仅适用于一个管理员,每个管理员都可以访问它

根据上面的示例,上述情况对新创建的 stackoverflow 管理员没有影响。

所以我的假设是,通过蒲团创建的管理员可以做任何事情。唯一令人困惑的逻辑部分是 _users 文档,它们没有特殊类型(他们是用户)也没有特殊角色。

回到具体问题: - 当通过蒲团添加管理员时,为什么它没有在 _users 文档中标记为管理员,以及该文档中的 CouchDB 如何确定它是一个广泛的系统管理员?- 如果您想创建一个普通用户而不允许他们注册(通过被褥或直接 HTTP 请求),您必须保护 _users 文档。但是,您将如何创建自己的用户以在自己的数据库上读/写?- 由于用户(根据 CouchDB Docs)将拥有数据库的读/写权限,但没有创建设计文档的可能性,他如何才能真正有效地使用它,因为任何使用数据库开发的人都需要视图?

应该可以在不危及安全性的情况下进行正常的、简单的多主机托管,因为在http://www.iriscouch.com/上有一个共享的 CouchDB 产品,所以我只是不明白您将如何合理地构建一个简单的服务,其中用户有他自己的数据库,可以做任何事情,但只能在这个数据库上。由于管理员角色无论如何都是“用户”,您如何将它们与 _users 表中的非管理员区分开来?

0 投票
3 回答
1415 浏览

couchdb - CouchDB Simple SELECT 方法正确吗?

我正在 Apache CouchDB 上构建一个非常简单的用户系统。我已经建立了一个简单的视图来通过电子邮件搜索用户:

这返回

现在我可能遗漏了一些非常愚蠢的东西(如果是这种情况,我道歉)但是为什么你只能从这个视图中检索 2 个字段(如果我们计算 ID,则为 3 个)?

就像在正常情况下一样,您可能希望从电子邮件或用户 ID 开始搜索您的用户数据库并检索完整的文档。

现在我确实阅读了http://guide.couchdb.org/draft/cookbook.html上的示例(按键查找),除非我遗漏了一些非常琐碎的内容,否则结果也不完整,因为它只会返回具有一定年龄的用户名,仅此而已。

我不明白这将如何正确使用:如果您查询您的客户、供应商数据库,无论您想要返回完整文档,而不仅仅是值 1 或 2。

所以我的解决方案是另一种观点:

所以把电子邮件和完整的文件作为价值还给我。这可行,但您可以想象它在更大的数据库中要慢得多。

所以问题是:有没有更好的方法来做一个简单的查询来检索有关通过电子邮件搜索的用户的完整详细信息,例如使用 CouchDB - NoSQL ?

我知道回答“这是错误的,因为您不能在 NoSQL 中考虑 SQL”的诱惑,但请稍等:在现实世界的应用程序中,根据文档而不是表/行等来考虑 NoSQL,您可能想要完整的文档为用户。想象一下,您有一个简单的系统来检索客户详细信息。您需要完整的文档。仅当您首先提供密钥电子邮件时才需要知道 ID 和密钥。

0 投票
1 回答
1014 浏览

ubuntu - CouchDB:不提供蒲团

我已经在 Ubuntu 11.10 中安装了 CouchDB。我有一个 HTTPD 服务器正在运行(运行正常)以及 CouchDB 的所有先决条件。

我已经在后台为系统上的用户启动了 CouchDB:

sudo -i -u bpetruk couchdb -b

它告诉我它已经开始了,“是时候放松一下了”。不幸的是,我还不能放松——因为即使服务器已经加载,我也无法从标准的http://127.0.0.1:5984/_utils位置访问 Futon。

这是启动例程的一些错误输出。可怕,我知道哈哈。它似乎刚刚将一些 JSON 转储到终端:

Apache CouchDB 1.2.0 (LogLevel=info) 正在启动。[错误] [<0.96.0>] {error_report,<0.31.0>, {<0.96.0>,crash_report, [[{initial_call,{couch_auth_cache,init,['Argument__1']}}, {pid,< 0.96.0>}, {registered_name,[]}, {error_info, {exit, {{badmatch,{error,eacces}}, [{couch_auth_cache,ensure_users_db_exists,2}, {couch_auth_cache,open_auth_db,0}, {couch_auth_cache, reinit_cache,1}, {couch_auth_cache,init,1}, {gen_server,init_it,6}, {proc_lib,init_p_do_apply,3}]},

同样令人沮丧的是,在 couchdb 上定义 -s 标志(应该打印后台进程的状态)绝对不会产生任何结果!所以我也无法提供这方面的信息。

在我第一次涉足 CouchDB 世界时,是否有任何常见问题我可能视而不见?我真的卡在这个上了!

0 投票
1 回答
82 浏览

json - 为什么这些 CouchDB 视图中只有一个有效?

我在 CouchDB 中有一些 type:"Person"和 type的文档"Account"

对于这些类型的所有文档的直接列表,我创建了以下设计文档_design/directory_views

此 JSON 在 JSONLint 上进行验证,并在将文档保存在 Futon 的源视图中时被接受。

蒲团列表directory_views/all_personsdirectory_views/all_accounts下拉列表中的预期。all_persons 创建正确的类型文档列表"Person",但all_accounts重定向回顶层All Documents,并列出所有内容。

为什么all_persons工作,但all_accounts失败?

PS。到目前为止,我在许多设计文档中都经历过这种行为。这个例子http://kore-nordmann.de/blog/couchdb_a_use_case.html#a-practical-example在同一个设计文档中显示了两个视图,所以我不认为每个文档只能有一个视图。

0 投票
1 回答
306 浏览

javascript - 我们可以在 CouchDb 中对排序的列表视图进行排序吗?

我有一个 couchdb,其中包含事件的开始时间和坐标。我写了一个列表视图,计算从您当前位置到这些事件的距离,如下所示:

我有一个简单的 byDate 事件视图,如下所示:

我的担忧:有没有办法先按列表中的距离对事件进行排序,然后按开始时间对排序列表进行排序?

0 投票
1 回答
782 浏览

linux - CouchDB 视图没有响应

我们将 .couch 文件从一个驱动器移动到另一个驱动器,因为原始驱动器已达到 100% 的空间。然后我们将新驱动器重新安装到旧/原始目录。换句话说,什么都没有改变。

现在我可以查看文档但无法运行视图。

它只是挂起。

知道问题可能是什么吗?