Search:

Search all manuals
Search this manual
Manual
Couchbase Server マニュアル 2.0
Community Wiki and Resources
Couchbase Server 2.0をダウンロード
Couchbase 開発者ガイド 2.0
クライアントライブラリ
Couchbase Server フォーラム
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
9.10 Map/ReduceへのSQLの翻訳
Chapter Sections
Chapters

9.10.3. Map/ReduceへのSQL ORDER BYの翻訳

SQL内でのORDER BY句は出力されるレコードの順序を制御します。ビュー内での順序はキーの値によって制御されます。しかし、キーはクエリメカニズムも制御し、サポートします。

SELECTステートメントで、明示的なWHERE句がない場合、出力するキーによって目的のソートを完全に実現できます。たとえば、都市と担当営業の名前でソートするには、次のmap()が目的のソートを実現します:

Javascript
function(doc, meta) 
{
   emit([doc.city, doc.name], null)
}

値へのクエリが必要で、そのクエリの仕様が順序シーケンスの一部である場合、上記フォーマットを使用することができます。たとえば、クエリの基本が都市の場合、上記ビューと適切な範囲クエリを使用して、'London'のすべてのレコードを抽出できます。

?endkey=["London\u0fff"]&startkey=["London"]

しかし、担当営業の名前でビューを問い合わせしたい場合、emit()ステートメント内でフィールド順を逆にする必要があります:

function(doc, meta) 
{
   emit([doc.name,doc.city],null)
}

すると、都市順で情報を取得しながらも、名前で検索することができます。

descendingクエリパラメータを使用することによって、出力を逆にすること(ORDER BY field DESCと同等のこと)ができます。詳細については、「ソート」を参照してください。