基本的CouchDB查询



我以前从未使用过数据库,但是我选择了沙发DB,因为我需要一个JSON数据库,而HTTP查询似乎很简单。但是,该文档假设我只是没有知识水平。

假设我有一个名为"主题"的数据库,看来我可以通过在

上使用 GET访问JSON
http://localhost:5984/subjects/c6604f65029f1a6a5d565da029001f4c

除此之外,我被卡住了。理想情况下,我希望能够:

  1. 访问数据库中所有键的列表(不是其值)
  2. 通过其密钥访问单个元素

我需要使用视图吗?还是可以在我的Get请求中设置字段?有人可以给我一个他们要使用的请求的完整示例吗?请不要链接到CouchDB文档,它确实没有帮助我。

可以使用视图来获取数据

1)为了从数据库中获取所有键,您可以使用以下视图

function(doc) {
    if (doc.type=="article") 
        emit(doc._id,null); //emit(key,value), if you have any other field as key then specify as doc.key e.g doc.
}

您可以使用以下URL

从浏览器访问此视图
http://<ipaddress>:<port>/databasename/_design/designdocumentname/_view/viewname

例如:

http://<ipaddress>:<port>/article/_design/articlelist/_view/articlelist

文章是数据库名称,articlelist是设计文档的名称和视图。

2)为了通过密钥访问单个文档下面的视图将返回属于特定部门的所有文章

 function(doc) {
  if(doc.type == 'article' ) {
    emit([doc.departmentname], doc);
  }
}

根据"部门名称"查询此视图

例如:获取所有属于" IBU3"部门的文章

http://<ipaddress>:<port>/department/_design/categoryname/_view/categoryname?key=[%22IBU3%22]

最新更新