问题标签 [couchdb-3.x]

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 投票
3 回答
349 浏览

couchdb - 我可以使用 CouchDB 的新分区数据库仅复制特定分区吗?

我对 CouchDB 3 感到非常兴奋,尤其是分区数据库功能。我想设置类似于 envoy 的东西,你有一个数据库可以同步到许多较小的数据库。

我想知道,为一个用户实现一个分区的最佳方法是什么,并且只允许用户同步他们自己的分区。是否可以将全局更改拆分为分区更改,使用该日志进行同步,还是我想太多了?

0 投票
1 回答
1034 浏览

couchdb - 在没有管理员密码的 couchdb 3 中创建新用户

我刚刚下载并安装了 CouchDB v3

在第一次启动时,它提示我设置我所做的管理员密码。

对于我正在构建的 Web 应用程序,我想使用 CouchDB 用户身份验证功能,因此我_users使用 Fauxton UI 创建了一个新数据库。

创建_users数据库后,我调用了 REST API 以插入新用户(这是从文档中获取的示例代码):

而不是预期的响应

我越来越

将管理员凭据添加到 API 调用时,它按预期工作:

我的问题:

是否可以设置任何设置或权限以使请求工作无需添加管理员凭据?(AFAIK 这在 中运行良好v2.x

0 投票
2 回答
335 浏览

couchdb - CouchDB 在不使用 Fauxton 的情况下更改 bind_address

我想更新我的 CouchDB v3.1.0 实例的绑定地址(注意:安装在 Windows 10 上)。

我想在使用 Web UI (Fauxton) 的情况下这样做。

这是我正在做的事情:

  1. C:\CouchDB\etc\local.ini在文本编辑器中打开
  2. 在该[chhtpd]部分中,我正在设置bind_address = 0.0.0.0
  1. 保存更改
  2. 通过重启Apache CouchDB服务services.msc
  3. 我发现更改bind_address尚未生效

似乎 的[chttpd]部分C:\CouchDB\etc\local.d\10-admins.ini压倒了我的价值。

我究竟做错了什么?我需要更改文件bind_address中的内容吗?10-admins.ini

0 投票
1 回答
31 浏览

couchdb - 为文档名称创建选择器

我正在使用 CouchDB v3.1.0 并试图创建一个选择器/{db}/_find来查找名为“foobar”的文档。

在 docs 部分1.3.6.1.1 Selector Basics,有几个提到 a $title

但是,当我尝试像这样使用它时:

输出以下错误消息:

起作用的是使用选择中的_id字段:'{"selector":{"_id":"foobar"}}'

但是,使用文档的唯一标识符感觉不正确。我的问题:

  • $title行得通吗?(我是不是用错了)
  • _id合适的方法吗?
0 投票
1 回答
92 浏览

couchdb - CouchDB 3.1 安装程序 - 未知发布者

我刚刚去https://couchdb.apache.org/获取最新的 CouchDB 二进制文件(从 2.2 升级)。

但是,下载链接将我重定向到一个名为 Neighbourhoodie 的组织 - 一家 CouchDB 服务和咨询公司(这是出乎意料的,但可以理解,因为我知道安装可能来自镜像)。

当我运行安装程序时,我收到了来自 Windows 的警告,指出二进制文件来自“未知发布者”。

我在 CouchDB 网站上找不到联系点来提出这样的问题。

意外的重定向加上未知的发布者让我很紧张 - 我怎么知道继续升级是安全的?

0 投票
1 回答
74 浏览

mapreduce - 当数据库很大时,couchdb mapReduce 超时

细节:

  • Apache CouchDB v. 3.1.1
  • 大约 5 GB 的 Twitter 数据已转储到分区中

我写的 Map reduce 函数:

当我在邮递员中尝试以下命令时:

http://<server_ip>:5984/mydb/_partition/partition1/_design/Info/_view/trial-view?key="BT"&group=true

我收到以下错误:

请帮助我如何在如此庞大的数据上应用 mapReduce?

0 投票
1 回答
38 浏览

authentication - 用户无法为 _session 进行身份验证

我面临一个非常奇怪的问题,即我无法使用 (_users) 数据库中的任何用户通过路由 (/_session) 创建会话。它总是给我错误(错误的凭据)。它曾经在 couchdb 1.6.1 中运行良好

对于普通的 couchdb 管理员,它工作正常:

$ curl -X POST http://localhost:5984/_session -d 'name=my_main_admin&password=******'
{"ok":true,"name":"my_main_admin","roles":["_admin"]}

但是对于 couchdb 用户(存储在 _users 中),它不起作用。我不认为这与角色有关。

所以我首先创建用户:

$ curl -s -H "Content-Type: application/json" -X PUT "http://my_main_admin:*****@127.0.0.1:5984/_node/_local/_users/org.couchdb.user:my_new_user" --data '{"name": "my_new_user", "password": "my_new_user", "roles": [], "type": "user"}'
{"ok":true,"id":"org.couchdb.user:my_new_user","re​​v":"1-f1fa0870666d17d7324e54128dfbcacb"}

然后,如果我尝试使用此用户创建会话,它永远不会起作用:

$ curl -X POST http://localhost:5984/_session -d 'name=my_new_user&password=my_new_user' {"error":"unauthorized","re​​ason":"名称或密码不正确。"}

我的 CouchDB 配置看起来不错:

我曾经在 couchdb 1.6.1 上与普通用户创建会话,但自从我安装 couchdb 3.1.1 后它就再也没有工作过。我在文档中找不到任何相关信息。我错过了什么吗?

0 投票
0 回答
93 浏览

couchdb - 如何通过复制 .couch 文件来恢复备份数据库

场景:我有一个具有每用户数据库模型的单节点数据库。用户删除了他的数据库。我知道数据库名称。

  • 我想通过将 .couch 文件复制回数据文件夹来从备份中恢复数据库。
  • 我不想将所有数据库的完整备份恢复到另一个 CouchDB 实例,因为这需要太长时间。

问题:

  1. 仅复制 .couch 文件是不够的(不再),因为有一个索引 ( _dbs.couch) 将此数据库标记为已删除。
  2. 重命名 .couch 文件并将其复制回数据文件夹不起作用,因为“新”数据库名称不在索引中。
  3. 创建具有相同名称的新数据库,然后从备份中复制回文件不起作用,因为新数据库在 .couch 文件名中具有不同的时间戳。
  4. 执行第 3 步,但将备份文件的时间戳重命名为新创建的数据库的新时间戳,然后复制文件也不起作用,原因我不知道。

问题:如何从 .couch 文件备份中恢复单个已删除的数据库,而不将完整备份恢复到相同或单独的实例?

  • 有没有办法告诉 CouchDB 重新索引其数据目录中所有现有的 .couch 文件?
  • 有没有办法修改_dbs.couch索引以添加恢复的数据库?
0 投票
0 回答
11 浏览

docker - 无法将数据从 couchdb docker 映像复制到 localhost couchdb。但是从 localhost couchdb 到 docker 映像的复制已完成

我目前正在研究一种超级账本结构。Fabric 使用 CouchDB docker 镜像来存储数据。我想将该 CouchDB 数据存储到我的本地主机 CouchDB 中。那时我正面临这个问题。我正在使用 ubuntu 子系统从 wsl2 工作。主机是windows 10。