1

在演示数据库中,存储了以下文档...

{
  "_id":"biking",
  "_rev":"AE19EBC7654",
  "title":"Biking",
  "body":"My biggest hobby is mountainbiking. The other day...",
  "date":"2009/01/30 18:04:11"
}

 {
 "_id":"bought-a-cat",
 "_rev":"4A3BBEE711",
 "title":"Bought a Cat",
 "body":"I went to the the pet store earlier and brought home a little kitty...",
 "date":"2009/02/17 21:13:39"
 }

 {
  "_id":"hello-world",
  "_rev":"43FBA4E7AB",
  "title":"Hello World",
  "body":"Well hello and welcome to my new blog...",
  "date":"2009/01/15 15:52:20"
  }

现在运行以下视图,如果存在,则从文档中返回日期和标题...

 function(doc) {
    if(doc.date && doc.title) {
                 emit(doc.date, doc.title);

} }

返回空结果..

{
 "total_rows": 0,
 "offset": 0,
"rows": []

}

......这个结果不是预期的......

4

1 回答 1

0

假设您的所有文档都正确保存在 CouchDB 中,这意味着您可以通过GET

http://127.0.0.1:5984/myDatabase/biking

然后我们可以将问题区域缩小到 M/R 视图和实际查询本身。

当您说要将视图更改为更简单的版本时,您的方向几乎是正确的。

您可以通过蒲团的临时视图功能验证您的视图是否正常工作。

一旦您确认视图正常工作,我假设您正在尝试通过调用视图Postman,调用它时的一个常见问题Postman是不要忘记将登录信息放在 url

http://username:password@127.0.0.1:5984/myDatabase/biking

您可以通过调用内置视图来验证这一点,例如

http://username:password@127.0.0.1:5984/myDatabase/_all_docs

还要确保reduce没有被执行,您可以reduce=false在查询中明确指定它。

于 2014-09-02T11:23:05.633 回答