2012-08-27 124 views
1

在这里询问类似的问题Getting full list of revisions on document level using CouchDB-Python?,但我想要做的也是在一个请求中检索同一文档的每个修订版本的主体。我想有效地建立一个修订列表,同时显示过去的文档体。如何获取同一文档Apache CouchDB的多个修订版本的主体?

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

“你可以获取多个版本一次使用参数open_revs =的机构[” REV1" , “转2”,...],或者你可以使用open_revs = all获取所有的叶子版本(参见Replication_and_conflicts).JSON返回一个指向文档的“ok”键或指向rev字符串的“missing”键的对象数组。但是,当我运行我的查询与AJAX选项 open_revs:[“3-9e93308666d43721e80580acaedd149b”,“2-6a3187f50d51756820f1908eab7fcf3f”,“1-e9a0482bf9a120bd03fb5ff03cdd2d3d”],我得到一个从Erlang服务器返回的invalid_json请求。

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

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

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

回答

0

您是否尝试过包括参数include_docs=true?还没有看到你提出的要求,所以我不知道它是否相关,但如果它是一个视图请求,here's where it's documented

+0

我试图执行请求为:? GET /数据库/ b30f72bf8a745d19094d2e79b104be16 open_revs = 3-9e93308666d43721e80580acaedd149b%2C2-6a3187f50d51756820f1908eab7fcf3f %2C1-e9a0482bf9a120bd03fb5ff03cdd2d3d 我在数组中传入了3个修订版本的我想要检索的文档的id,它应该返回同一个文档的3个独立的修订主体。在这里参考open_rev http://wiki.apache.org/couchdb/HTTP_Document_API 我使用jquery.couch.js的openDoc函数调用并传递open_revs:[“3-9e93349b”,“2-6a38eab7fcf3f”,“1- 5ff03cdd2d3d“]作为选项之一。修订号是任意的。 – AnthonyS

0

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

(是的,无论是括号和引号必须是网址转义呢!)

相关问题