【发布时间】:2014-05-27 07:12:50
【问题描述】:
是否可以使用 [dscape/nano][1] 获取 couchdb 中数据库的所有视图的列表?我可以通过 curl 请求获得的最接近的是:
http://URL/DBNAME/_all_docs?key=_design/views&include_docs=true.
以上返回所有视图,包括 javascript 函数。但我只想提取视图名称。
【问题讨论】:
标签: couchdb couchdb-nano
是否可以使用 [dscape/nano][1] 获取 couchdb 中数据库的所有视图的列表?我可以通过 curl 请求获得的最接近的是:
http://URL/DBNAME/_all_docs?key=_design/views&include_docs=true.
以上返回所有视图,包括 javascript 函数。但我只想提取视图名称。
【问题讨论】:
标签: couchdb couchdb-nano
在较新的 CouchDB 版本中,您可以使用“_design_docs”来仅列出视图:
GET /dbname/_design_docs
与您必须浏览所有文档 (_all_docs) 相比,这将使您更快地获得想要的列表。
参见官方文档的1.3.3. /{db}/_design_docs。
注意:截至今天的文档指出这是 CouchDB 2.2 版中的新功能,但我在 2.1 上成功测试了它。
【讨论】:
不幸的是,这样做的唯一可能方法是从您在问题中包含的查询结果中提取视图名称。 Futon 在填充视图下拉列表时就是这样做的,所以我认为可以肯定地假设这是唯一的解决方案。
您可能还希望将查询更改为以下内容以包含所有设计文档,而不仅仅是名为 views 的文档:
GET /dbname/_all_docs?startkey="_design/"&endkey="_design0"&include_docs=true
【讨论】: