2016-11-04 8 views
0

私はnode.jsとcouchdbが新しくなっています。そこで、私はどのように動作するかを理解するためにいくつかのコードテストを勉強して実行してきました。nanoを使用してビューからデータを読み取る

nanoパッケージを使用してnode.jsのcouchDBを操作しています。私はデータベースに接続し、データをそこに挿入することもできました。しかし、私はデータを照会する方法を理解するために苦労してきました。

couchDBのビューに関するドキュメントを読んで以来、私はcustomersView(データベース名はtestsqueila)という名前のビューからデータを取得しようとしていました。

ビューのデザイン名は "_design/custdoc/_view/customersView"です。私が仕事をしようとしている機能は以下の通りです:

testsqueila.view('_design/custdoc/_view/customersView', 'customersView', function(err, body) { 
    if (!err) { 
    body.rows.forEach(function(doc) { 
     console.log(doc.value); 
    }); 
    } 
}); 

コンソールには何も印刷されていないので、何か問題が起こっています。ビューのデザイン名を間違った方法で使用しているのかどうか分かりません。誰が何が起こっているのアイデアを持っていますか?また、エラー値を取得するためのコードをいくつか追加しました。コンソールのメッセージの最後には、次のように書かれています:errid: 'non_200' description: 'couch db returned 404'。

ありがとうございました!

答えて

0

最初に、nano documentationを参照して、API呼び出しについて知っておく必要があるすべてについて詳しく説明することをお勧めします。

_design/custdoc/_view/customersViewは、CouchDBのHTTP APIを直接照会している場合にのみ有効です。 nanodbを使用すると、以下を実行する必要があります。

testsqueila.view('custdoc', 'customersView', function(err, body) { 
    if (!err) { 
    body.rows.forEach(function(doc) { 
     console.log(doc.value); 
    }); 
    } 
}); 

ので.view()署名は次のようになります。db.view(designname, viewname, [params], [callback])

Designnameは_design/接頭辞なしの設計ドキュメントIDです。あなたのケースでは、それはcustdocです。

Viewnameは、照会するビューの名前です。あなたの場合、それはcustomersViewです。

いくつかの点が不明な場合は、お気軽にコメントしてください! CouchDBコミュニティへようこそ。

+0

Alexis、ありがとうございます!私は本当にデザインの名前について混乱していた。今それは動作します。私はdoc値を取得する方法を見つける必要がありますが、私はドキュメントを見ていきます。ありがとうございました! –

+0

私はあなたの答えをどう受け入れますか?私はそれを行うためのボタンのようなものを探していますが、私はそれをまだ見つけられませんでした。確かにそれをしたい、あなたはとても素晴らしかった! –

+0

答えを受け入れるには、通常、投票数の直下をクリックするチェックがあります。投票は回答の左側に定義されており、あなたが有益であれば、アップヴォートまたはダウンボートすることができます。 –

関連する問題