0

私はnanoを使用してnode.jsを介してcouchDBに接続しています。couch.dbの基本的なドキュメントを読み、ほとんどの部分を理解しましたが、単純なクエリ関数はどこにも見当たりませんでした。私がやりたいのは、(サーバーから)特定のドキュメントからフィールドの値を取得することだけです。どうすればいいですか?

さらに、これに対する答えを探しているときに、htmlページが直接DBにGETを送信して値を取得できるという1つのサイトに出くわしました。データベースは安全だと思っていたのですが、どうすればこれが可能になるのでしょうか。私はここで何か大きなものが欠けていると思います。

4

1 に答える 1

0

idで特定のドキュメントを取得する最も簡単な方法は、getメソッドを使用することです。これにより、ドキュメント自体が返されます。

var Nano = require('nano'),
    db = new Nano('http://admin:password@localhost:5984').use(yourDatabase),

db.get(yourDocumentId, function (err, yourDocument, headers) {
  return console.log(err || yourDocument);
  });

CouchDBから直接データを要求するWebページに関する2番目の質問を再確認してください。これは、CouchDBにエンドユーザー専用のログインがある限り、安全に実行できます。エンドユーザーはCouchDBにログインし、CouchDBはCookieを返します。このCookieは、それ自体を認証する方法として、ブラウザーがCouchDBへの後続のリクエストごとに送信します。詳細については、http: //guide.couchdb.org/editions/1/en/security.html#cookiesを参照してください。

個人的には、UIをデータに結合するのが簡単すぎて、将来の変更が難しくなるため、このアプローチは使用しません。ExpressでRESTAPIを作成し、UIから呼び出すことをお勧めします。これにより、UIコードがUIロジックにさらに集中し、API実装がCouchDBドキュメントおよびビュー操作の処理に集中するようになります。

于 2012-12-11T02:00:01.440 に答える