问题标签 [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.
couchdb - 我可以使用 CouchDB 的新分区数据库仅复制特定分区吗?
我对 CouchDB 3 感到非常兴奋,尤其是分区数据库功能。我想设置类似于 envoy 的东西,你有一个数据库可以同步到许多较小的数据库。
我想知道,为一个用户实现一个分区的最佳方法是什么,并且只允许用户同步他们自己的分区。是否可以将全局更改拆分为分区更改,使用该日志进行同步,还是我想太多了?
couchdb - 在没有管理员密码的 couchdb 3 中创建新用户
我刚刚下载并安装了 CouchDB v3
。
在第一次启动时,它提示我设置我所做的管理员密码。
对于我正在构建的 Web 应用程序,我想使用 CouchDB 用户身份验证功能,因此我_users
使用 Fauxton UI 创建了一个新数据库。
创建_users
数据库后,我调用了 REST API 以插入新用户(这是从文档中获取的示例代码):
而不是预期的响应
我越来越
将管理员凭据添加到 API 调用时,它按预期工作:
我的问题:
是否可以设置任何设置或权限以使请求工作而无需添加管理员凭据?(AFAIK 这在 中运行良好v2.x
)
couchdb - CouchDB 在不使用 Fauxton 的情况下更改 bind_address
我想更新我的 CouchDB v3.1.0 实例的绑定地址(注意:安装在 Windows 10 上)。
我想在不使用 Web UI (Fauxton) 的情况下这样做。
这是我正在做的事情:
C:\CouchDB\etc\local.ini
在文本编辑器中打开- 在该
[chhtpd]
部分中,我正在设置bind_address = 0.0.0.0
- 基于这个答案
- 保存更改
- 通过重启
Apache CouchDB
服务services.msc
- 根据这个答案
- 我发现更改
bind_address
尚未生效
似乎 的[chttpd]
部分C:\CouchDB\etc\local.d\10-admins.ini
压倒了我的价值。
我究竟做错了什么?我需要更改文件bind_address
中的内容吗?10-admins.ini
couchdb - 为文档名称创建选择器
我正在使用 CouchDB v3.1.0 并试图创建一个选择器/{db}/_find
来查找名为“foobar”的文档。
在 docs 部分1.3.6.1.1 Selector Basics
,有几个提到 a $title
:
但是,当我尝试像这样使用它时:
输出以下错误消息:
起作用的是使用选择器中的_id
字段:'{"selector":{"_id":"foobar"}}'
但是,使用文档的唯一标识符感觉不正确。我的问题:
$title
行得通吗?(我是不是用错了)- 有
_id
合适的方法吗?
couchdb - CouchDB 3.1 安装程序 - 未知发布者
我刚刚去https://couchdb.apache.org/获取最新的 CouchDB 二进制文件(从 2.2 升级)。
但是,下载链接将我重定向到一个名为 Neighbourhoodie 的组织 - 一家 CouchDB 服务和咨询公司(这是出乎意料的,但可以理解,因为我知道安装可能来自镜像)。
当我运行安装程序时,我收到了来自 Windows 的警告,指出二进制文件来自“未知发布者”。
我在 CouchDB 网站上找不到联系点来提出这样的问题。
意外的重定向加上未知的发布者让我很紧张 - 我怎么知道继续升级是安全的?
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?
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","rev":"1-f1fa0870666d17d7324e54128dfbcacb"}
然后,如果我尝试使用此用户创建会话,它永远不会起作用:
$ curl -X POST http://localhost:5984/_session -d 'name=my_new_user&password=my_new_user'
{"error":"unauthorized","reason":"名称或密码不正确。"}
我的 CouchDB 配置看起来不错:
我曾经在 couchdb 1.6.1 上与普通用户创建会话,但自从我安装 couchdb 3.1.1 后它就再也没有工作过。我在文档中找不到任何相关信息。我错过了什么吗?
couchdb - 如何通过复制 .couch 文件来恢复备份数据库
场景:我有一个具有每用户数据库模型的单节点数据库。用户删除了他的数据库。我知道数据库名称。
- 我想通过将 .couch 文件复制回数据文件夹来从备份中恢复数据库。
- 我不想将所有数据库的完整备份恢复到另一个 CouchDB 实例,因为这需要太长时间。
问题:
- 仅复制 .couch 文件是不够的(不再),因为有一个索引 (
_dbs.couch
) 将此数据库标记为已删除。 - 重命名 .couch 文件并将其复制回数据文件夹不起作用,因为“新”数据库名称不在索引中。
- 创建具有相同名称的新数据库,然后从备份中复制回文件不起作用,因为新数据库在 .couch 文件名中具有不同的时间戳。
- 执行第 3 步,但将备份文件的时间戳重命名为新创建的数据库的新时间戳,然后复制文件也不起作用,原因我不知道。
问题:如何从 .couch 文件备份中恢复单个已删除的数据库,而不将完整备份恢复到相同或单独的实例?
- 有没有办法告诉 CouchDB 重新索引其数据目录中所有现有的 .couch 文件?
- 有没有办法修改
_dbs.couch
索引以添加恢复的数据库?
docker - 无法将数据从 couchdb docker 映像复制到 localhost couchdb。但是从 localhost couchdb 到 docker 映像的复制已完成
我目前正在研究一种超级账本结构。Fabric 使用 CouchDB docker 镜像来存储数据。我想将该 CouchDB 数据存储到我的本地主机 CouchDB 中。那时我正面临这个问题。我正在使用 ubuntu 子系统从 wsl2 工作。主机是windows 10。