显示CouchApp视图将为null结果

时间:2011-07-12 22:47:33

标签: javascript couchdb couchapp

我是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

1 个答案:

答案 0 :(得分:2)

所以我弄清楚发生了什么。显然,当你通过couchapp生成视图时,它也会创建并清空reduce函数。它是蒲团,你需要明确地运行reduce,这样它就不会影响结果集。通过应用程序,空减少有效地消除了结果。感谢所有回复的人。