如何通过给定的密钥检索couchdb中的所有文档?

use*_*036 4 couchdb

我们的沙发数据库网址是http://10.1.5.88:5984/_utils/database.html?testdata/

我想检索给定密钥的所有文档.我不确定我们是否可以通过在上面的url中传递密钥作为查询参数进行搜索.

请告诉我如何通过浏览器显示查询结果.

例如:获取key ="countryname"的所有文档.

谢谢.

San*_*Sen 6

您将无法使用..?testdata&key ="countryname"查询数据库.

要查询数据库以获取所有文档key="countryname",您必须首先view在数据库中创建一个.请参阅http://docs.couchdb.org/en/1.6.1/couchapp/views/intro.html上的CouchDB文档.

我在下面提供了一个例子,如果它有帮助:

假设您的数据库包含以下文档:

{
  "_id": "708ae78bd79fa9802c827e03d3000fe3",
  "_rev": "1-f3408ffe54a9b9156dca5c9ad56ce396",
  "name": "AFGHANISTAN",
  "code": "AF"
}

{
  "_id": "708ae78bd79fa9802c827e03d3001767",
  "_rev": "1-9952b25ea39460b9923de505945efe3a",
  "name": "ALAND ISLANDS",
  "code": "AX"
}

{
  "_id": "708ae78bd79fa9802c827e03d30030a5",
  "_rev": "1-c1f3c9b2310f07f2985aa3fa363a281f",
  "name": "ALBANIA",
  "code": "AL"
}
Run Code Online (Sandbox Code Playgroud)

"_design/countries"使用"country"数据库中的视图创建设计文档.

{
  "_id": "_design/countries",
  "_rev": "1-b30408713ded172df62502b45c959563",
  "views": {
    "country": {
      "map": "function(doc) {\n  emit(doc.name, null);\n}"
    }
  },
  "language": "javascript"
}
Run Code Online (Sandbox Code Playgroud)

您现在可以像这样查询数据库: http://127.0.0.1:5984/countries/_design/countries/_view/country?key=%22ALBANIA%22&include_docs=true

这将返回给阿尔巴尼亚的文件.

{
  "total_rows": 3,
  "offset": 2,
  "rows": [
    {
      "id": "708ae78bd79fa9802c827e03d30030a5",
      "key": "ALBANIA",
      "value": null,
      "doc": {
        "_id": "708ae78bd79fa9802c827e03d30030a5",
        "_rev": "1-c1f3c9b2310f07f2985aa3fa363a281f",
        "name": "ALBANIA",
        "code": "AL"
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)