Node 用の HapiJs フレームワークを使用して作成されたアプリがあり、それを CouchDb データベースに接続したいのですが、そのためのコードを見つけるのに苦労しています。
それを行うためのコードを手伝ってくれる人はいますか? それを行う「通常の」方法は何ですか?
乾杯!
そうですね、couchdb のフレームワークは必要ありません。すべては、残りの API を介して利用できます。requestモジュールを使用して、API にリクエストを行うだけです。いくつかの例: -
ドキュメントを読む
request.get("http://localhost:5984/name_of_db/id_of_docuement",
function(err,res,data){
if(err) console.log(err);
console.log(data);
});
ビューから読み取る
request.get(
"http://localhost:5984/name_of_db/_design/d_name/_view/_view_name",
function(err,res,data){
if(err) console.log(err);
console.log(data);
});
API全体がここに文書化されています
接続を管理したり、他のデータベースで行っている可能性のあるデータベースの開閉を処理したりする必要はありません。単純に、couchdb を起動して、アプリケーションからのリクエストを開始します。
ただし、API に直接リクエストを送信するのが少し面倒な場合は、nanoを使用してみてください。これは、couchdb で処理するためのより適切な構文を提供します。
コードの一部
私はhapiに慣れていないので、リクエストに応じてどのように行うかを説明します.
ドキュメントのこの例を検討してください
var Hapi = require('hapi');
var server = new Hapi.Server(3000);
var request = require("request");
server.route({
method: 'GET',
path: '/',
handler: function (request, reply) {
reply('Hello, world!');
}
});
server.route({
method: 'GET',
path: '/{name}',
handler: function (req, rep) {
request.get("http://localhost:5984/name_of_db/id_of_docuement",
function(err,res,data){
if(err) console.log(err);
rep(data);
});
}
});
server.start(function () {
console.log('Server running at:', server.info.uri);
});
エンドポイントを呼び出すと、/そのリクエスト ハンドラが実行されます。ドキュメントを取得するために、couchdb エンドポイントにリクエストを送信します。それ以外にcouchdbに接続する必要はありません。