CouchDB:如何使用_revs_diff获取文档修订版ID

Bai*_*Bai 5 couchdb

我试图测试couchDB的_revs_diff api来获取文档修订版.这是我使用的命令

curl -X POST http://******:******@localhost:5984/grocery-sync/_revs_diff -H "Content-type:application/json" 
Run Code Online (Sandbox Code Playgroud)

结果是

{"error":"unknown_error","reason":"badarg"}
Run Code Online (Sandbox Code Playgroud)

有谁知道原因?

lam*_*bmj 4

根据CouchDB wiki 页面_revs_diff如果给定文档的修订无效,将返回一个值。curl没有给出 使用示例。

查看此邮件列表发布的问题似乎是您需要包含文档和修订信息,如下所示:

$ curl -X POST -H "Content-type:application/json" \
   http://*:*@localhost:5984/grocery-sync/_revs_diff \
   -d '{"0d63eac0ca9a37daa062b23853a4cf4d":["1-e9e4e9c76323a267ff4f780f9f979b9f", "12-3286453e55eb2c401bc194670075f942"]}'
Run Code Online (Sandbox Code Playgroud)

其中字典键 ( 0d63...cf4d) 是文档 ID,数组是修订 ID。在此示例中,数据库中存在两个修订版 (1-...和),因此响应为12-...

{}
Run Code Online (Sandbox Code Playgroud)

如果我提供缺少的修订 ID(我发明的):

$ curl -X POST -H "Content-type:application/json"  \
  http://*:*@localhost:5984/grocery-sync/_revs_diff \
  -d '{"0d63eac0ca9a37daa062b23853a4cf4d":["1-abcdef"]}'
Run Code Online (Sandbox Code Playgroud)

响应是

{"0d63eac0ca9a37daa062b23853a4cf4d":{"missing":["1-abcdef"]}}
Run Code Online (Sandbox Code Playgroud)