2012-11-01 5 views
5

zu erhalten Ich habe versucht, CouchDB _revs_diff api zu Dokumenten Revisionen zu bekommen. Hier ist der Befehl, den ichCouchDB: Wie man _revs_diff verwendet, um Dokument Revision ID

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

das Ergebnis ist

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

Kennt jemand den Grund dafür?

Antwort

4

Gemäß CouchDB wiki page gibt _revs_diff einen Wert zurück, wenn die Revisionen für ein bestimmtes Dokument ungültig sind. Es sind keine Beispiele unter Verwendung von curl angegeben.

bei this mailing list posting Blick das Problem scheint zu sein, dass Sie Dokument und Revisionsinformationen enthalten müssen, wie folgt aus:

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

Wo die Wörterbuch-Taste (0d63...cf4d) ist das Dokument-ID und das Feld sind Revision IDs. In diesem Beispiel beiden Revisionen (1-... und 12-...) sind in der Datenbank vorhanden, so dass die Antwort

{} 

ist, wenn ich eine fehlende Revision-ID liefern (das ich erfunden):

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

Die Antwort wird

{"0d63eac0ca9a37daa062b23853a4cf4d":{"missing":["1-abcdef"]}} 
Verwandte Themen