2012-03-06 5 views
1

私はIBM's tutorial on CouchDBをフォローしていて、私のドキュメントを表示する際に問題が発生しました。私がhttp://127.0.0.1:5984/_utils/database.html?contacts/_design/contacts/_view/byname#にアクセスしたとき、私のビューがうまく表示されています。しかしなぜ私のCouchDBビューは_utilsからしか見ることができませんか?

enter image description here

、私はhttp://127.0.0.1:5984/contacts/_design/contacts/_view/bynameを訪問(その後db.view("contacts/byname", {...を経由して私のアプリで同じデータを表示しようと)、私は私のキー/値ペアのnull結果を参照してください。

enter image description here

私はそれがセキュリティ上の問題はないと思います。私は、ビューが表示されます_utils私がログインしているかどうか。私は他の一つの場所でそれを見ることはできませんが、なぜ

function(doc) { 
    if (doc.name) { 
     emit(doc.name, doc); 
    } 
} 

:ここ

EDIT

は、私の見解のソースコードのですか?

+0

ビューのソースコードはどのように見えますか? –

+0

質問をソースコードで更新しました。 –

答えて

2

アントニオによって示唆されるように、コマンド

couchapp generate view contacts byname 

が空軽減機能でファイルviews/byname/reduce.jsを作成しました。それを削除するか、?reduce=falseで質問してください(デフォルトでFutonが追加しています)。

注:Futonを使用している間は、Firebugを使用して実行中のクエリを見ることができます。

+0

Chromeでも同様の方法がありますか、またはChromeでFirebug Liteを使用する必要がありますか? –

+1

@Wraith、ChromeでF12を押し、[ネットワーク]タブを選択します(ただし、Firebugはもっと美しいです;-))。 –

+0

チップをありがとう! –

2

おそらくドキュメントの内容を破棄するか、nullに減らすreduce関数がありますか?あなたのスクリーンショットから「Reduce」チェックボックスをクリックしていないことがわかります。したがって、表示されるのはマップ機能からの結果だけです。

+0

+1私を正しい軌道に乗せてください。それは素晴らしいヒントです、ありがとう! –

関連する問題