2

名前と国フィールドを含むソファー データベースがあり、国ごとのカウントを返すビューを作成しました。

マップ機能:

function(doc) {
   emit(doc.country, 1);
}

縮小機能:

function(keys, values, rereduce) {
   return sum(values);
}

問題は、この場合は降順で「順序付け」する必要があることです。それを解決する方法はありますか?

4

1 に答える 1

1

残念ながら、バニラのcouchdbではreduce関数で値を並べ替えることができません。

couchdb でホストされるプロバイダーである Cloudant は、この問題を解決する「連鎖マップ削減」を提供します。http://examples.cloudant.com/sales/_design/sales/index.htmlを参照してください。

いくつかのオプションを実行できます。1 つは Cloudant でデータをホストする方法、もう 1 つはローカル データを Cloudant にレプリケートしてオーダーバイをクエリする方法です。

これもあります: https://github.com/afters/couch-incarnate残念ながら私は試していませんが、あなたがやろうとしていることには合うかもしれません。

于 2013-03-18T19:43:50.103 に答える