2

NodeJS内でcouchDBのnanoラッパーを使用する際に問題が発生しました。

https://github.com/dscape/nano

私の質問は、メールアドレスが「foobar@baz.com」に一致するすべてのユーザーを見つけて返すにはどうすればよいですか。名前フィールドのみを返したい場合はどうなりますか?

ビューとデザイン名/ビュー名の組み合わせに混乱しています。誰かが例の呼び出しを見せてくれれば、それは素晴らしいことです。

ありがとう、

var nano = require('nano')('http://localhost:5984');
nano.db.create('users');
var users = nano.db.use('users');

user.views()//what parameters go in here?

/*example user object
user = {
  'id' : '123',
  'email' : 'foobar@baz.com'
  'name':'John Doe'
}
*/
4

1 に答える 1

3

nanoでアクセスする前に、couchdbでビューを作成する必要があるようです。ビューは、マップ(およびオプションで)reduce関数として設計ドキュメントに添付されます。

詳細については、これを参照してください:http ://wiki.apache.org/couchdb/HTTP_view_APIおよびこれ:http://guide.couchdb.org/editions/1/en/views.html

ユーザーデータベースの設計ドキュメントは、次のようになります。

{
  "_id":"_design/usersddoc",
  "_rev":"12345",
  "language": "javascript",
  "views":
  {
    "byEmail": {
      "map": "function(doc) { if (doc.email)  emit(null, doc.name) }"
    }
  }
}

ライブラリを使用する前に、CouchDBがどのように機能するかの基本を理解することが重要です。そうしないと、あらゆる種類の混乱が生じます。CouchDBにはかなりシンプルなRESTfulJSONインターフェースがあります。決定的なガイドを読み、Wikiを参照して、CouchDBがどのように機能するかを理解することをお勧めします。

于 2012-11-11T05:59:38.727 に答える