2012-11-01 97 views
5

我試圖測試couchDB的_revs_diff API來獲取文檔修訂。下面是我用CouchDB:如何使用_revs_diff獲取文檔修訂ID

命令
curl -X POST http://******:******@localhost:5984/grocery-sync/_revs_diff -H "Content-type:application/json" 

結果是

{"error":"unknown_error","reason":"badarg"} 

有誰知道什麼原因呢?

回答

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"]}} 
相關問題