2012-01-12 7 views
3

私は単純なcouchappを作成し、それを私のCouchDBインスタンスにデプロイしました。しかし、私は異常に気付いています。 CouchDBのFuton管理インターフェース(管理者としてログインしている)で表示したときに作成されたビュー(couchapp生成ビュー...経由)はデータを返しますが、私が書いたcouchappを実行したときは表示されません。私のコードの例は次のとおりです。CouchAppはビューからキーと値のペアを取得できませんが、ふとんは

$.CouchApp(function(app) { 
app.view("wine_list", { success: function(json) { 
    json.rows.map(function(row) { 
     alert(row.key); 
    }); 
}}); 
}); 

上記のalert()の結果は「null」です。

そして、私はに移動したとき:http://localhost:5984/winedb/_design/wineapp/_view/wine_list私を得る:

{"rows":[ 
{"key":null,"value":null} 
    ]} 

しかし、私は布団の管理インターフェイスを開き、設計ドキュメント/ビューに移動している場合、私はレコードを表示することができます。今、布団で私は管理者としてログインしています。だから、私の推測は私のcouchappのjavascriptコードの特定の認証資格情報ですか?もしそうなら、どうですか?

答えて

5

マップの両方がコンポーネントを減らしている場合、これはFutonのユーザーインターフェイスのバグです。

デフォルトでは、CouchDBはマップを提供し、の結果をクエリに還元します。地図の結果のみを表示するには、?reduce=falseパラメータを指定する必要があります。

デフォルトでは、Futonは?reduce=falseパラメータを提供しています。「デフォルト」動作を取得するには、「reduce」チェックボックスを選択する必要があります。

つまり、reduce=falseをクエリに追加します。それは役に立ちますか?

+0

reduceを 'true'に設定したときに返される行を取得する場合はどうすればよいですか? – Shekhar

関連する問題