我是CouchDB的新手,但是我为了这个而尝试谷歌。
从DB查看时,我有一个包含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到浏览器的响应。
[Wed,13 Jul 2011 18:36:09 GMT] [debug] [< 0.957.0>]'GET'/ phistory / _design / phistory / _view / res {1,1} 标题:[{'接受',“text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8”}, { '接收字符集', “ISO-8859-1,utf-8; Q = 0.7,*; Q = 0.3”}, { '的Accept-Encoding', “gzip的,放气,SDCH”}, { '接受语言', “EN-US,连接; Q = 0.8”}, {“连接”,“保活”}, { '曲奇', “AuthSession = YnVpbGQ6NEUxREUzNTk6suAhrCjMRNN100LLDJqb0Dl-0Ag”}, { '主机', “cmarcel-WS:5984”}, { '如果 - 无 - 匹配', “\” 5WLSLFYCQ880T9JCCPAMD804R \ “”}, {'User-Agent',“Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 534.30(KHTML,如Gecko)Chrome / 12.0.742.112 Safari / 534.30”}, {“X-Purpose”,“:preview”}]
[Wed,13 Jul 2011 18:36:09 GMT] [debug] [< 0.957.0>]成功的cookie身份验证为:“build”
[Wed,13 Jul 2011 18:36:09 GMT] [debug] [< 0.957.0>] request_group {Pid,Seq} {< 0.907.0>,96}
[Wed,13 Jul 2011 18:36:09 GMT] [debug] [< 0.957.0>] request_group {Pid,Seq} {< 0.907.0>,96}
[Wed,13 Jul 2011 18:36:09 GMT] [debug] [< 0.918.0>] OS Process#Port< 0.2202>输入:: [“reset”,{“reduce_limit”:true}]
[Wed,13 Jul 2011 18:36:09 GMT] [debug] [< 0.918.0>] OS Process#Port< 0.2202>输出:: true
[Wed,13 Jul 2011 18:36:09 GMT] [debug] [< 0.918.0>] OS Process#Port< 0.2202>输入:: [“reduce”,[“function(keys,values,rereduce){\ n \ n}”],[[[“从FactV__c中选择id”,“fad95bf61bd2c87db4d017668a002191”],{“2011-06-01T12: 13:15Z “:” 100" , “2011-07-01T12:13:15Z”: “099”}]]]
[Wed,13 Jul 2011 18:36:09 GMT] [debug] [< 0.918.0>] OS Process#Port< 0.2202>输出:: [true,[null]]
[Wed,13 Jul 2011 18:36:09 GMT] [info] [< 0.957.0>] 10.0.63.48 - - 'GET'/ phistory / _design / phistory / _view / res 200
答案 0 :(得分:2)
所以我弄清楚发生了什么。显然,当你通过couchapp生成视图时,它也会创建并清空reduce函数。它是蒲团,你需要明确地运行reduce,这样它就不会影响结果集。通过应用程序,空减少有效地消除了结果。感谢所有回复的人。