curl syntax error: append couchdb document failed with "conflict"?
curl syntax error: append couchdb document failed with "conflict"?
我已经在我的 windows 10 上安装了 couchdb 和 mingw64,我可以使用 futon 操作我的 couch 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:创建了文档,但是它的 URL 资源名称是什么?
每当您在 CouchDB 中更新 document/Attachment 时,您都需要指定修订版(否则会导致冲突)。我猜你只是忘了写 rev 正确(你写了 res)。
语法取自this question:
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"
我已经在我的 windows 10 上安装了 couchdb 和 mingw64,我可以使用 futon 操作我的 couch 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:创建了文档,但是它的 URL 资源名称是什么?
每当您在 CouchDB 中更新 document/Attachment 时,您都需要指定修订版(否则会导致冲突)。我猜你只是忘了写 rev 正确(你写了 res)。
语法取自this question:
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"