在演示数据库中,存储以下文档......
{
"_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": []
}
......这个结果不是预期的......
答案 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
明确指定此内容。