Couchdb视图生成

Couchdb视图生成,couchdb,couchdb-futon,Couchdb,Couchdb Futon,我正在学习couchdb,所以我有一个非常基本的问题。假设我有一个名为email的沙发数据库,其中的文档如下所示: { "_id": "fe7759fdf36t", "status": "sent", "sent_at": 1357151443, } { "_id": "ewrwe4a38d2353", "status": "failed", "sent_at": 2347151421, } { "_id": "f4559fjffd2353", "status

我正在学习couchdb,所以我有一个非常基本的问题。假设我有一个名为
email
的沙发数据库,其中的文档如下所示:

{
  "_id": "fe7759fdf36t",
  "status": "sent",
  "sent_at": 1357151443,
}

{
  "_id": "ewrwe4a38d2353",
  "status": "failed",
  "sent_at": 2347151421,
}

{
  "_id": "f4559fjffd2353",
  "status": "sent",
  "sent_at": 11715154,
}
我想创建两个视图

1) 检索
状态=已发送的所有文档

2) 检索
status=失败并发送至>11715157的所有文档
3) 在
降序/升序和状态=已发送

对于第(1)段,我写道

{
    "_id": "_design/sentdoc",
    "_rev": "2-dd88de7196c06eed41d2d83a958f0388",
    "views": {
        "query": {
            "map": "function(doc) { if(doc.status == 'sent') {emit(doc_id, doc);} }"
        }
    }
}

我想我在那里做错了什么,所以它不起作用。有人能建议如何编写这三个视图吗?

创建这样一个视图

function(doc){ emit([doc.status, doc.sent_at], doc); } 功能(doc){ 发出([doc.status,doc.sent\u at],doc); } 查询#1

在curl语句中尝试这些参数(或Ruby库或其他)

startkey=[“已发送”] endkey=[“已发送”,{}] 查询#2

startkey = ["failed", 11715157] endkey = ["failed", {}] startkey=[“失败”,11715157] endkey=[“失败”,{}] 查询#3

startkey = ["sent"] endkey = ["sent", {}] descending = true startkey=[“已发送”] endkey=[“已发送”,{}] 降序=真
我没有测试过这个,但应该为您指出正确的方向

你怎么知道它不起作用呢?回答得好,我编辑了查询#3来解决endkey的问题。为了让示例更清楚,对视图的实际请求应该如下所示: startkey = ["sent"] endkey = ["sent", {}] descending = true