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

How to retrieve all the documents in couchdb by given key?

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

我想检索给定键的所有文档。我不确定我们是否可以通过在上面 url.

中将键作为查询参数传递来进行搜索

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

例如:获取key="countryname".

的所有文档

谢谢。

您将无法使用 ..?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"
}

在数据库中创建一个包含视图 "country" 的设计文档 "_design/countries"

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

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

这将为您 return 阿尔巴尼亚文件。

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