我尝试测试couchDB的_revs_diff api以获取文档修订版。这是我使用的命令
curl -X POST http://******:******@localhost:5984/grocery-sync/_revs_diff -H "Content-type:application/json"
结果是
{"error":"unknown_error","reason":"badarg"}
有谁知道原因?
答案 0 :(得分:4)
根据CouchDB wiki page,如果给定文档的修订无效,_revs_diff
将返回一个值。没有给出使用curl
的示例。
查看this mailing list posting问题似乎是您需要包含文档和修订信息,如下所示:
$ curl -X POST -H "Content-type:application/json" \
http://*:*@localhost:5984/grocery-sync/_revs_diff \
-d '{"0d63eac0ca9a37daa062b23853a4cf4d":["1-e9e4e9c76323a267ff4f780f9f979b9f", "12-3286453e55eb2c401bc194670075f942"]}'
字典键(0d63...cf4d
)是文档ID,数组是修订版ID。在此示例中,数据库中存在两个修订版本(1-...
和12-...
),因此响应为
{}
如果我提供缺少的修订版ID(我发明了一个):
$ curl -X POST -H "Content-type:application/json" \
http://*:*@localhost:5984/grocery-sync/_revs_diff \
-d '{"0d63eac0ca9a37daa062b23853a4cf4d":["1-abcdef"]}'
回复是
{"0d63eac0ca9a37daa062b23853a4cf4d":{"missing":["1-abcdef"]}}