2

私はCouchDBを初めて使用しますが、これをGoogleにしようとして空っぽになります。

DB ホストから表示すると、2 つのドキュメントの結果セットを持つビューがあります: 5984/_utils/database.html?phistory/_design/phistory/_view/res

ソファ アプリを介してこの同じビューにアクセスしようとすると、結果が null ドキュメントとして返されます。ホスト: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"
   }
}

this によると、ビューに正しくアクセスしているようです。 http://wiki.apache.org/couchdb/HTTP_view_API

リクエストのカウチ ログからのデバッグ出力を追加します。以下で、実際のビューが DB の観点からデータをレンダリングしたが、ブラウザへの応答に null を返したことがわかります。

[2011 年 7 月 13 日水曜日 18:36:09 GMT] [デバッグ] [<0.957.0>] '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"}, {'Connection',"keep- alive"}, {'Cookie',"AuthSession=YnVpbGQ6NEUxREUzNTk6suAhrCjMRNN100LLDJqb0Dl-0Ag"}, {'Host',"cmarcel-ws:5984"}, {'If-None-Match',"\"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",": プレビュー"}]

[2011 年 7 月 13 日水曜日 18:36:09 GMT] [デバッグ] [<0.957.0>] Cookie 認証の成功: "build"

[水曜日、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] [デバッグ] [<0.918.0>] OS プロセス #Port<0.2202> 入力 :: ["reset",{"reduce_limit":true}]

[2011 年 7 月 13 日水曜日 18:36:09 GMT] [デバッグ] [<0.918.0>] OS プロセス #Port<0.2202> 出力 :: true

[2011 年 7 月 13 日水曜日 18:36:09 GMT] [デバッグ] [<0.918.0>] OS プロセス #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"}]]]

[2011 年 7 月 13 日水曜日 18:36:09 GMT] [デバッグ] [<0.918.0>] OS プロセス #Port<0.2202> 出力 :: [true,[null]]

[2011 年 7 月 13 日水曜日 18:36:09 GMT] [情報] [<0.957.0>] 10.0.63.48 - - 'GET' /phistory/_design/phistory/_view/res 200

4

1 に答える 1

2

だから私は何が起こっているのかを理解しました。明らかに、couchapp を介してビューを生成すると、空の reduce 関数も作成されます。結果セットに影響を与えないように、reduce を明示的に実行する必要があります。アプリを通じて、空の削減は結果を効果的に無効にしました。回答してくれたすべての人に感謝します。

于 2011-07-13T23:16:48.183 に答える