Mat*_*ght 7 macos curl couchdb
我开始使用 CouchDB,并开始构建应用程序。我可以使用 CURL 很好地书写和阅读,但是我已经开始尝试使用 _find 进行搜索,并且收到一条错误消息,指出“需要引用标头”。
curl -X POST http://localhost:5984/mydb/_find -d '{"selector":{"member.email":"foo@bar.com"}}
返回:
{"error":"bad_request","reason":"Referer header required."}
当我尝试在呼叫中添加“Referer”主机时,它只是说引用者需要匹配主机,但我不知道主机是什么意思。
curl -X POST http://localhost:5984/mydb/_find -d '{"selector":{"member.email":"matthew"}}' -H "Referer: localhost"
{"error":"bad_request","reason":"Referer header must match host."}
我尝试了各种组合,使用本地主机,使用和不使用端口号,我尝试使用 X-Forwarded-Host,我找到了十几篇关于 POST 与 PUT 和版本控制的相关文章,但我已经走到了死胡同,只是无法弄清楚我错过了什么。
备注 我在 OSX 笔记本电脑上运行 couchdb1.7.x。
小智 1
可能为时已晚,但对于接下来讨论这个主题的人(比如我)来说,问题是:
http://localhost:5984/mydb/_find
Run Code Online (Sandbox Code Playgroud)
当您尝试更改 PUT 中的 POST 时,您会遇到问题:
"reason":"Only reserved document ids may start with underscore."
Run Code Online (Sandbox Code Playgroud)
_document 引用特殊函数,因此只需更改文档的名称:)
(应该在这两个帖子/之后都起作用)