curl – 由于更新冲突而无法删除文档

前端之家收集整理的这篇文章主要介绍了curl – 由于更新冲突而无法删除文档前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我获取文档并检查更新版本的方法
  1. curl http://localhost/cdb/characters/e6b153975174556adc0b344e9a000a7f?revs=true
  2.  
  3. returns:
  4. {"_id":"e6b153975174556adc0b344e9a000a7f","_rev":"1-25b25539eca3944ef8d8f20748ed4902","name":"Barack Obama","position":"US President"}

然后我尝试删除这样的文档:

  1. curl -X DELETE http://localhost/cdb/characters/e6b153975174556adc0b344e9a000a7f?rev=1-25b25539eca3944ef8d8f20748ed4902
  2.  
  3. response:
  4. {"error":"conflict","reason":"Document update conflict."}

为什么,如果修改似乎没有问题,是否存在删除文档冲突?

删除没有其他修订的文档是否有问题?

解决方法

首先,由于您的代码看起来不正确,请检查您的params实际上是否正在发送.

否则,您应检查修订是否标记为已删除

  1. curl -X GET http://127.0.0.1:5984/kina/ \
  2. 04ce1239166b841ae8a317897ec45b11?revs_info=true
  3. {
  4. "_id":"04ce1239166b841ae8a317897ec45b11","_rev":"3-bc27b6930ca514527d8954c7c43e6a09","_revs_info":
  5. [
  6. {
  7. "rev":"3-bc27b6930ca514527d8954c7c43e6a09","status":"available"
  8. },{
  9. "rev":"2-eec205a9d413992850a6e32678485900","status":"deleted"
  10. },{
  11. "rev":"1-967a00dff5e02add41819138abb3284d","status":"available"
  12. }
  13. ]
  14. }

删除删除的版本,您必须使用_purge.例如:

  1. curl -X POST http://127.0.0.1:5984/kina/_purge/ \
  2. -H "content-type:application/json" \
  3. -d ’{"7341477ce373f9cc76f351e598001cdd":
  4. ["2-5c7fb5dfeaf6f7cea149922fa1cdaf96"]
  5. }’
  6.  
  7. {
  8. "purge_seq":1,"purged":
  9. {
  10. "7341477ce373f9cc76f351e598001cdd":
  11. ["2-5c7fb5dfeaf6f7cea149922fa1cdaf96"]
  12. }
  13. }

猜你在找的Linux相关文章