CouchApp视图显示将为空结果

CouchApp views show up will null results

本文关键字:结果 视图 显示 CouchApp      更新时间:2023-09-26

我是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 GMT〕〔调试〕〔lt;0.957.0>〕"获取"/phistory/_design/phistori/_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"},{'接受编码',"gzip,deflate,sdch"},{'接受语言',"en-US,en;q=0.8"},{"连接","保持活力"},{'Cookie',"AuthSession=YnVpbGQ6NEUxREUzNTk6suAhrCjMRNN100LLDJqb0Dl-0Ag"},{"主机","cmorcel ws:5984"},{'If-None-Match',"''"5WLSLFYCQ880T9JCCPAMD804R''"},{‘User-Agent’,"Mozilla/5.0(X11;Linux x86_64(AppleWebKit/534.30(KHTML,类似Gecko(Chrome/12.0742.112 Safari/534.30"},{"X-Purpose",":预览"}]

〔星期三,2011年7月13日18:36:09 GMT〕〔调试〕〔lt;0.957.0>〕成功的cookie身份验证为:"构建">

〔星期三,2011年7月13日18:36:09 GMT〕〔调试〕〔<0.957.0>〕request_group{Pid,Seq}{<0.907.0>,96}

〔星期三,2011年7月13日18:36:09 GMT〕〔调试〕〔<0.957.0>〕request_group{Pid,Seq}{<0.907.0>,96}

〔星期三,2011年7月13日18:36:09 GMT〕〔调试〕〔lt;0.918.0>〕操作系统进程#端口<0.2202>输入::["重置",{"reduce_limit":true}]

〔星期三,2011年7月13日18:36:09 GMT〕〔调试〕〔lt;0.918.0>〕操作系统进程#端口<0.2202>输出::真实

〔星期三,2011年7月13日18:36:09 GMT〕〔调试〕〔lt;0.918.0>〕操作系统进程#端口<0.2202>输入::["reduce",["function(keys,values,reduce({''n''n}"],[[["select id from FactV__c","fad95bf61bd2c87db4d017668a002191"],{"2011-06-01T12:13:15Z":"100","2011-07-01T12:13:1 5Z"099"}]]

〔星期三,2011年7月13日18:36:09 GMT〕〔调试〕〔lt;0.918.0>〕操作系统进程#端口<0.2202>输出::[true,[null]]

[星期三,2011年7月13日18:36:09 GMT][info][lt;0.957.0>]10.0.63.48-"获取"/phistory/_design/phistori/_view/res 200

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