问题标签 [couchdb-2.0]
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.
docker-compose - 带有 docker-compose 的 CouchDB 无法从主机访问(但从 localhost)
我正在使用带有以下内容的 docker-compose 设置 CouchDB docker-compose.yml
(以下是一个最小示例):
第二个容器的设置脚本正在执行以下脚本./scripts/couchdb_setup.sh
:
现在,问题是curl
调用总是返回The requested URL returned error: 502 Bad Gateway
。我认为 CouchDB 只是在监听http://localhost:5984
而不是监听,http://couchdb:5984
当我猛击couchdb
容器并发出两个卷发时,这很明显;因为http://localhost:5984
我得到了预期的响应,http://couchdb:5984
以及http://<CONTAINER_IP>:5984
(http://192.168.32.2:5984
在我的情况下)响应server 192.168.32.2 is unreachable ...
我查看了配置,尤其是[chttp]
设置及其bind_address
参数。默认情况下,bind_address
设置为any
,但我也尝试使用0.0.0.0
,但无济于事。
我正在寻找我做错了什么的提示,以及如何使用 docker-compose 设置 CouchDB 的建议。任何帮助表示赞赏。
couchdb-2.0 - 使用 couchdb 查询服务器时视图中的 lib
我为自定义查询语言构建了一个自定义查询服务器。
我试图创建一个带有 views 的设计文档map/reduce
。
在这些map/reduce
函数中(最重要的是在 map 函数中)我希望能够引用库代码。
我可以看到有一个 lib 节点可以添加到设计文档中。
我期待自定义查询服务器接收add_lib
来自 CouchDB 的消息,但我从未见过。
http://docs.couchdb.org/en/stable/query-server/protocol.html#add-lib
add_fun
对于依赖于查询服务器中的库的代码,消息会失败,因为add_lib
尚未提前收到消息。
“查询服务器应该解析、编译和评估它接收到的函数,以便以后可以调用它。”
http://docs.couchdb.org/en/stable/query-server/protocol.html#add-fun
由于add_fun
失败,这意味着我无法保存设计文档。
我查看了以下页面,但仍然没有成功:
如何将 moment.js 库添加到 Bluemix 上的 Cloudant NoSQL Design Doc
https://www.oreilly.com/library/view/couchdb-the-definitive/9780596158156/ch05.html
我做错了什么或犯了一个错误,非常感谢您的帮助。
couchdb-2.0 - CouchDB Fauxton“保存失败:未定义”
什么可能导致 Ubuntu 上 Chrome 68 和 Firefox 62 中的 v2.1.1 出现此横幅错误“保存失败:未定义”?
使用具有管理员权限的新/最近登录,突然(与几天前使用同一系统相比)我无法在自定义数据库或 _users 数据库中创建新文档,或编辑任何现有文档,或创建新数据库,但我可以查看所有文件。创建数据库永远不会给出正常的后续“数据库创建成功”横幅。
python - 使用 CouchDB-Python 批量取消删除 CouchDB 文档
我不小心删除了 CouchDB 数据库中的所有文档,我想取消删除它们。
CouchDB 版本 = 2.2.0 Python = 2.7,我正在使用 python-couchDB 库。
当我调用 /couchip:5984/my_db 时,我的 CouchDB 没有进行任何压缩,并且 doc_del_count 中列出了 1260 个文档
我按照这里的指示: 检索刚刚删除的文档
并像这样在Python中调整它:
我从这里开始打印 old_doc,大多数时候,它返回一个 NoneType 但我确实看到有些正在打印出我想要恢复的文档,所以我将它添加到代码中:
这不起作用,没有任何东西恢复到我的数据库中。现在,当我尝试查看这些文档的所有修订版时,当我调用 old_doc 时,我似乎只能返回 NoneType。我尝试像这样遍历所有修订:
docs_to_put_back 返回一个空列表。据我了解,如果我的数据库没有压缩,如果我有旧的修订号,我应该能够获取旧文档。但是,从我一直在阅读的内容来看,情况似乎并非如此。
我也尝试过先将文档放回数据库,然后尝试使用 curl 获取旧的修订号,如下所示:
我被灌醉了吗?CouchDB 是否无法访问所有旧版本(我读过的内容有点用词不当)?
这不是我最好的一天,所以如果你能帮忙,那就太棒了!谢谢!
couchdb-2.0 - 使用 ArmChair 将新文档添加到 CouchDb 会引发异常 Object reference not set to an instance of an object
我正在使用沙发数据库 2.2.0 版
我想couchdb
使用 .Net
所以我安装了Armchair.Core
Nuget Package 版本 0.11.2
为了添加新文档,我遵循了尚未完成的 wiki 中提到的代码 https://bitbucket.org/dboneslabs/arm-chair/wiki/main-api/session-api.md
但我仍然收到错误
即使我在构造函数中传递了它们,mydatabase
前面代码中提到的变量也有值 nullConnection
和参数,因为它根本没有连接到 couchdb 数据库并且从不尝试创建数据库 TestDbDataBase
请提供任何帮助,我的代码中是否有任何错误调用
couchdb - CouchDB 2.2 中的自动压缩
我已经阅读了以下文章,因为 couchdb 以令人印象深刻的速度几乎占用了我硬盘的所有空间。
多亏了这篇文章,我设法将我的数据库大小从 19 GB 减少到了 19 MB。
但是我希望自动完成“压缩”,而不必担心,所以我按照那篇文章的步骤进行操作,但是无法验证配置是否正常工作。
如何确定它是否正常工作?
node.js - 如何从 CouchDB 中的 _global_changes 获取更改文档的详细信息
我正在使用我的 node.js 应用程序中的nano_global_changes
来监听 CouchDB 实例上所有数据库的更改以跟踪数据库。
这在返回对发生的每个更改的引用方面非常有用,但是我不知道如何访问实际文档以及从这一点开始更改的详细信息。
来自提要的每个更改都如下所示:
从这一点来看,我无法弄清楚如何查询DATABASE-WHERE-CHANGE-HAPPENED
以获取已更改/删除/添加的特定文档,并确切了解它发生了什么。我找不到DATABASE-WHERE-CHANGE_HAPPENED
匹配的文档change._rev
或change.seq
...
任何帮助将不胜感激。
(每当添加某种类型的附件时,我都会尝试监听,然后对该附件执行某些操作。)
我的解决方案
正如Hypnic Jerk在下面的评论中指出的那样,我似乎没有办法做到这一点。相反,每当进行更改时,我从全局更改提要中获得的唯一信息是在特定数据库中进行了更改。那么,我需要查询整个数据库以查找是否有我感兴趣的信息。
在我的用例中,这很容易,因为我正在寻找可以作为附件添加的某种类型的文件,然后将其转换为不同的文件类型。但对于其他用例,这可能非常困难或不可能。如果 CouchDB 可以显示有关全局_global_changes
提要中所做更改的更多信息,那将非常有帮助。
所以是的,这会导致很多额外的查询,并且它适用于我的用例,但对于其他用例,这可能不可行。可悲的是,提要似乎提供的唯一信息_GLOBAL_CHANGES
是告诉您修改了哪个数据库,除非我遗漏了什么?
json - 数组中的 CouchDB 字段查询
假设我想查询所有place_name
在美国的。我的查询或字段应该是什么?
在这里,我粘贴了我的查询,它只给了我第一个索引,但我想获取所有数据。那应该是我的查询。
目前的查询是
couchdb - CouchDB 索引以连接文档之间的点
我有以下文件:
我的目标是运行查询并不可避免地对所有与worksite_id: worksite_1
.
例子:
- 因为这个项目有我要找的工地
- 文件有那个项目
- 签名有那个文件
如果我想要该工作场所的所有内容,我应该能够检索所有这些文档。
通常我只会在worksite_id
我的type:document
and中添加一个type:signature
。但是,由于各种原因,项目中的工地可能会发生变化。
我想知道是否有一种方法可以创建索引或做一些我不想展示这些相似之处的事情。
这感觉就像它走在正确的道路上,但解释将文档放在我只想将它们分开的其他文档中。
couchdb - 带有 $or 和 $and 的 CouchDB 索引不起作用,但只有 $and 起作用
出于某种原因,我有以下.find()
命令,并且遇到了冲突的索引错误。以下是我仅尝试获取一种类型的文档时的一个工作示例。但是,如果我尝试获取 2 种类型的文档,则由于某种原因它不起作用。
有谁知道为什么会这样?