我在更新现有的沙发文档或创建新文档时遇到麻烦。每当我尝试更新或创建,我会得到这个错误:文档没有ID。我确认发送给Couch DB的文件没有ID。但更奇怪的是,我的同事们没有这个问题。当他们试图做同样的任务时,他们会从Couch DB获得ID。我试图安装一个新的沙发服务,并从我的一个队友的笔记本电脑上导入沙发文档,但运气不好。是否有一种设置允许在没有ID的情况下更新/创建文档?我是一个新手,所以请帮助。
要提交文档并让服务器生成ID,您应该提交POST。但是如果你这样做,你需要指定-H "Content-Type: application/json"。
shell> curl -H "Content-Type: application/json" -X POST http://127.0.0.1:5984/my_db/ -d '{"test":"value"}'
结果:{"ok":true,"id":"9b4789d9c67aa004f9ee1536990017d3","rev":"1-adde8b0266e0f8972b69c7144c2bded4"}
如果你想为文档指定一个ID,你可以这样做:
chell> curl -X PUT http://127.0.0.1:5984/my_db/"003" -d '{"test2":"value2"}'
结果:{"ok":true,"id":"003","rev":"1-adde8b0266e0f8972b69c7144c2bded4"}
我使用的是2.0.0版本。这里有更多的信息:couchdb curl教程