如何获取同一文档Apache CouchDB的多个修订版的主体?

时间:2012-08-27 22:12:59

标签: apache couchdb couchapp

此处Getting full list of revisions on document level using CouchDB-Python?提出了类似的问题,但我想要做的还是在一个请求中检索同一文档的每个修订版的正文。我想有效地构建一个修订列表,同时显示过去的文档主体。

根据HTTP API:http://wiki.apache.org/couchdb/HTTP_Document_API

“您可以使用参数 open_revs = [”rev1“,”rev2“,...] 一次一次性获取多个版本的正文,或者您可以使用open_revs = all获取所有叶子修订版本(请参阅Replication_and_conflicts).JSON返回一个对象数组,其中“ok”键指向文档,或者指向rev字符串的“缺失”键“

但是,当我使用 AJAX 选项运行查询时 open_revs:[“3-9e93308666d43721e80580acaedd149b”,“2-6a3187f50d51756820f1908eab7fcf3f”,“1-e9a0482bf9a120bd03fb5ff03cdd2d3d”] ,我收到Erlang服务器返回的invalid_json请求。

我检查了我从数组 revs_info 参数中检索到的修订号,但仍未成功。

我在想另一种可能的方法是迭代 rev_info 数组并为每个修订体重新查询服务器,但这似乎效率太低。

执行此操作的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

您是否尝试过包含参数include_docs=true?没有看到你提出的请求,所以我无法判断它是否相关,但是如果它是对视图的请求,here's where it's documented

答案 1 :(得分:0)

?open_revs参数的值是JSON编码的字符串数组。在您给另一个答案的评论中给出的示例中,您不包括括号或引号,只包括以逗号分隔的ID。这就是你收到JSON错误的原因。

(是的,括号和引号也必须进行网址转义!)