1

次のようなドキュメントを含むデータベースを考えてみましょう。

{ 
   username: "user_1",
   email: "user_1@mail.com"
}

これで、ユーザー名のリストが表示されます。つまり、次のとおりです。

["user_1", "user_2", "user_N"]

そして、私は彼らの電子メールのリストを返します:

["user_1@mail.com","user_2@mail.com","user_N@mail.com"]

この問題を効率的に解決するにはどうすればよいですか?

Node.js を使用して Cloudant (nano ライブラリーに基づく) データベースに照会する。

4

2 に答える 2

3

新しいビューは必要ありません。HTTP Bulk Document APIを参照してください。

Nano はdb.fetchメソッドを提供しているので、

db.fetch({keys: ["user_1", "user_2", "user_N"]}, function(err, body) {
  var emails = body.rows.map(function(row) {
    return row.doc.email;
  })
})
于 2016-01-04T11:21:25.117 に答える
1

ユーザー名を電子メールにマップするデータベースにビューを作成し、キーをパラメータとしてdb.viewを実行して結果を返すことができます。

または、Cloudant のノード ライブラリを使用して、Cloudant QueryまたはCloudant Searchでドキュメントを取得することもできます。

おそらく必要なのはビューだけですが、各ドキュメントのさまざまなプロパティの組み合わせに基づいてクエリを実行する必要がある場合は、Cloudant 検索を使用した検索インデックスが適している可能性があります。Cloudant クエリがどのような利点をもたらすかはわかりません。

于 2016-01-02T12:48:48.880 に答える