Linux curl语法错误:追加couchdb文档失败,出现“冲突”?

Linux curl语法错误:追加couchdb文档失败,出现“冲突”?,linux,curl,docker,couchdb,document,Linux,Curl,Docker,Couchdb,Document,我已经在我的Windows10上安装了couchdb和mingw64,我可以用futon操作我的沙发db,没问题。然后我尝试使用curl命令行。 我使用curl创建了名为my_database的数据库,我可以使用GET查询它: $ curl -X GET http://localhost:5984/my_database/002 % Total % Received % Xferd Average Speed Time Time Time Current

我已经在我的Windows10上安装了couchdb和mingw64,我可以用futon操作我的沙发db,没问题。然后我尝试使用curl命令行。 我使用curl创建了名为my_database的数据库,我可以使用GET查询它:

$ curl -X GET http://localhost:5984/my_database/002
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
100    81  100    81    0     0    397      0 --:--:-- --:--:-- --:--:--   397{"_id":"002","_rev":"1-5e653801ca3cefde8abb6492ae3bcbcd","name":"mesi","age":23}
但我无法进行任何数据更新,似乎我的curl语法有问题:

$ curl -X PUT http://127.0.0.1:5984/my_database/002/msg.jpg?res=1-5e653801ca3cefde8abb6492ae3bcbcd --data-binary @/e/msg.jpg -H "ContentType:image/jpg"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
 14  910k  100    58   14  128k     58   128k  0:00:07 --:--:--  0:00:07  125M{"error":"conflict","reason":"Document update conflict."}
我知道jpg文件在那里:

$ ls /e/msg.jpg
/e/msg.jpg
为什么我不能将jpg文档更新为附件?我想使用curl或couchdb可能会出现一些语法错误,但如何修复呢


使用futon_db:created document,但它的URL资源名称是什么?

每当您在CouchDB中更新文档/附件时,都需要指定修订版本,否则会导致冲突。我猜你只是忘了正确地写rev,你写了res

语法取自:

curl -vX PUT http://localhost:5984/YOUR_DB/YOUR_DOCUMENT/YOUR_ATTACHMENT.jpg?rev=REVISION_OF_THE_DOCUMENT_BEFORE_UPLOADING_AN_ATTACHMENT --data-binary @FILE_ON_THE_DISK.JPG -H "Content-Type: image/jpg"