2014-01-23 405 views
1

我以前从未使用过数据库,但我选择了Couch DB,因为我需要一个Json数据库,并且HTTP查询看起来有点简单。然而,文档假定我没有一定的知识水平。基本的CouchDB查询

假设我有一个名为“主体”的数据库,看来我可以用GET

http://localhost:5984/subjects/c6604f65029f1a6a5d565da029001f4c 

访问JSON但是超出我卡住了。理想我想能够:

  1. 访问所有的键在数据库中(而不是他们的值)
  2. 访问单个元素的列表,其关键

我是否需要使用对此有何看法?或者我可以只在我的GET请求中设置字段?有人可以给我一个他们使用的请求的完整示例吗?请不要链接到CouchDB文档,它到目前为止还没有帮助我。

+0

对不起,阅读[文档](http://couchdb.readthe docs.org/en/latest/index.html)。获取所有文件:[GET /db/_all_docs](http://couchdb.readthedocs.org/en/latest/api/database/bulk-api.html)。获取单个文档:[GET /db/doc](http://couchdb.readthedocs.org/en/latest/api/document/common.html#get--db-docid) –

回答

0

视图可用于获取数据

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. 
} 

您可以通过访问以下网址

从浏览器这一观点
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]