我需要通过一堆id获取couchdb文档。是否有请求/ API来执行此操作? 我不想创建一个视图(id,docs),然后按键查找。 当id b-tree已经存在时
答案 0 :(得分:10)
您应该使用已记录的批量API here。
它可能看起来像下面。
demodb
)_all_docs
作为视图rev
),请务必通过include_docs=true
curl -d '{"keys":["docId1","docId2","docId3"]}' -X POST http://127.0.0.1:5984/demodb/_all_docs?include_docs=true
答案 1 :(得分:1)
如果您想获取一系列文档,也可以像在视图中一样使用startkey_docid
和limit
参数。
您所做的是对
等网址的GET请求 http://127.0.0.1:5984/demodb/_all_docs?startkey_docid="docId1"&limit=5
获得结果集后,可以使用最后一个将其作为下一个启动键返回并再次运行请求。这有利于跳过视图索引过程(这对于大型数据库来说可能是一种痛苦)。
答案 2 :(得分:0)
记录在CouchDB API here中。
如果您使用的是python-couchdb
库,则可以使用:
_, _, response = <your_db>.resource.post_json('_bulk_get', {'docs': [{'id': '<1st_doc_id>'}, {'id': '<2nd_doc_id>'}]})
您的结果将在response['results']
中。