View在CouchDb中运行但返回空结果

时间:2014-09-01 10:09:39

标签: views couchdb couchdb-futon postman

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

{
  "_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": []

}

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

1 个答案:

答案 0 :(得分:0)

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

查询每个文档
  

http://127.0.0.1:5984/myDatabase/biking

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

当你说要将视图更改为更简单的版本时,你的方向非常正确。

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

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

  

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

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

  

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

另外,请确保未执行reduce,您可以在查询中使用reduce=false明确指定此内容。