CouchApp 视图显示将为空结果
Posted
技术标签:
【中文标题】CouchApp 视图显示将为空结果【英文标题】:CouchApp views show up will null results 【发布时间】:2011-07-12 22:47:32 【问题描述】:我是 CouchDB 的新手,但我在谷歌上对此一无所获。
从数据库查看时,我有一个包含 2 个文档的结果集的视图 主机:5984/_utils/database.html?phistory/_design/phistory/_view/res
当我尝试通过沙发应用访问同一视图时,结果以空文档的形式返回。 主机:5984/phistory/_design/phistory/_view/res
从 CouchApp 查看时的 JSON 结果:
"rows":[
"key":null,"value":null
]
这是视图中的地图功能。
function(doc)
if(doc.query && doc.transactions)
emit(doc.query, doc.transactions);
文档
"_id": "fad95bf61bd2c87db4d017668a002191",
"_rev": "1-8bec74cf8022f91bdc9cb53fa8ff7599",
"query_group": "simple-select",
"query": "select id from FactV__c",
"transactions":
"2011-06-01T12:13:15Z": "100",
"2011-07-01T12:13:15Z": "099"
据此看来我正在正确访问视图。 http://wiki.apache.org/couchdb/HTTP_view_API
为请求添加来自沙发日志的调试输出。您可以在下面看到,实际视图从 DB 角度呈现数据,但返回 null 给浏览器的响应。
[格林威治标准时间 2011 年 7 月 13 日星期三 18:36:09] [调试] [] 'GET' /phistory/_design/phistory/_view/res 1,1 标头:['Accept',"text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8", 'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.3", 'Accept-Encoding',"gzip,deflate,sdch", 'Accept-Language',"en-US,en;q=0.8", '连接',“保持活动”, 'Cookie',"AuthSession=YnVpbGQ6NEUxREUzNTk6suAhrCjMRNN100LLDJqb0Dl-0Ag", '主机',"cmarcel-ws:5984", 'If-None-Match',"\"5WLSLFYCQ880T9JCCPAMD804R\"", 'User-Agent',"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30", "X-Purpose",": 预览"]
[格林威治标准时间 2011 年 7 月 13 日星期三 18:36:09] [调试] [] 成功的 cookie 身份验证为:“build”
[格林威治标准时间 2011 年 7 月 13 日星期三 18:36:09] [调试] [] request_group Pid, Seq ,96
[格林威治标准时间 2011 年 7 月 13 日星期三 18:36:09] [调试] [] request_group Pid, Seq ,96
[格林威治标准时间 2011 年 7 月 13 日星期三 18:36:09] [调试] [] 操作系统进程 #Port 输入 :: ["reset","reduce_limit":true]
[格林威治标准时间 2011 年 7 月 13 日星期三 18:36:09] [调试] [] 操作系统进程 #Port 输出 :: true
[2011 年 7 月 13 日星期三 18:36:09 GMT] [debug] [] OS Process #Port Input :: ["reduce",["function(keys, values, rereduce ) \n \n"],[[["从 FactV__c 中选择 id","fad95bf61bd2c87db4d017668a002191"],"2011-06-01T12:13:15Z":"100","2011-07-01T12:13 :15Z":"099"]]]
[格林威治标准时间 2011 年 7 月 13 日星期三 18:36:09] [调试] [] 操作系统进程 #Port 输出 :: [true,[null]]
[格林威治标准时间 2011 年 7 月 13 日星期三 18:36:09] [信息] [] 10.0.63.48 - - 'GET' /phistory/_design/phistory/_view/res 200
【问题讨论】:
您能否提供一些示例文档和您的视图的源代码? 这是视图中的地图功能。function(doc) if(doc.query && doc.transactions) emit(doc.query, doc.transactions); Document "_id": "fad95bf61bd2c87db4d017668a002191", "_rev": "1-8bec74cf8022f91bdc9cb53fa8ff7599", "query_group": "simple-select", "query": "select id from FactV__c", "transactions": "2011-06-01T12:13:15Z": "100", "2011-07-01T12:13:15Z": "099"
编辑问题以包含这些详细信息
已更新问题中的正确格式。
它对我有用吗?有减少发生吗?您用来查询视图的完整 URL 是什么?
【参考方案1】:
所以我弄清楚发生了什么。显然,当您通过 couchapp 生成视图时,它也会创建并清空 reduce 函数。它被褥,您需要显式运行reduce,这样它就不会影响结果集。通过应用程序,空的减少有效地消除了结果。感谢所有回复的人。
【讨论】:
以上是关于CouchApp 视图显示将为空结果的主要内容,如果未能解决你的问题,请参考以下文章