我无法在两个 couchdb 服务器之间进行复制,因此我想从一台服务器转储到文件并从文件加载到另一台服务器。
我用这个语句转储,它工作正常:
curl -X GET http://localhost:5984/<DATABASE_NAME>/_all_docs?include_docs=true > FILE.txt
但是当我用这个语句加载时:
curl -d @FILE.txt -H “Content-Type: application/json” -X POST http://localhost:5984/<DATABASE_NAME>/_bulk_docs
它失败了:
curl: (6) Could not resolve host: application; Host not found {"error":"bad_content_type","reason":"Content-Type must be application/json"}
有任何想法吗?
最佳答案
如上所述,您应该使用 "
而不是 “
作为 -H
的参数选项
如果您是 Linux 或 MacOSX 用户,您可以使用 couchdb-dump工具,它基本上适用于 bash shell。
它将数据库转储到本地文件(ASCII 文本文件)上,按照 http://wiki.apache.org/couchdb/HTTP_Bulk_Document_API 的要求格式化。
然后您可以使用批量文档上传或包中包含的 couchdb-dump 恢复工具来恢复它。
这是该工具的链接:https://github.com/animamea/couchdb-dump
但您也可以找到其他工具:
https://github.com/stockr-labs/couchdbdump
https://github.com/zebooka/couchdb-dump
关于load - CouchDB 转储到文件并从文件加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639534/