名前と国フィールドを含むソファー データベースがあり、国ごとのカウントを返すビューを作成しました。
マップ機能:
function(doc) {
emit(doc.country, 1);
}
縮小機能:
function(keys, values, rereduce) {
return sum(values);
}
問題は、この場合は降順で「順序付け」する必要があることです。それを解決する方法はありますか?
残念ながら、バニラのcouchdbではreduce関数で値を並べ替えることができません。
couchdb でホストされるプロバイダーである Cloudant は、この問題を解決する「連鎖マップ削減」を提供します。http://examples.cloudant.com/sales/_design/sales/index.htmlを参照してください。
いくつかのオプションを実行できます。1 つは Cloudant でデータをホストする方法、もう 1 つはローカル データを Cloudant にレプリケートしてオーダーバイをクエリする方法です。
これもあります: https://github.com/afters/couch-incarnate残念ながら私は試していませんが、あなたがやろうとしていることには合うかもしれません。