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.5 ビューの記述
Chapter Sections
Chapters

9.5.3. 非JSONデータのビュー

バケット内に格納されたデータがJSONフォーマットもしくは、JSONの特徴を持っていない場合、その情報は中心的なデータベース層が返すJSONドキュメントに添付されるというかたちでデータベース内に格納されています。

これはその情報でビューを作成できないということではなく、その情報を格納するためのドキュメントキーを使用したビューで出力できるというように、ただ制限されるということです。

最も基本的なレベルでは、これはまだkeyの情報で範囲クエリを実行することができることを意味します。 例:

Javascript
function(doc, meta) 
{
    emit(meta.id, null);
}

ここでは出力されたキーデータと適切なstartkeyendkeyの値を使用して範囲クエリを実行できます。

キーの構造化フォーマット、たとえばデータタイプの接頭辞、もしくは異なる要素と識別するために使用される区切り文字を使用する場合、ビュー関数は明示的にこの情報をビューに出力することができます。たとえば、ドキュメントIDがコロン区切りで一連の値として定義されているキーの構造を使用している場合:

OBJECTYPE:APPNAME:OBJECTID

各アイテムを個々に出力するためのJavaScriptのmap/reduceクエリの中でこの情報を解析することができます:例:

Javascript
function(doc, meta) 
{
    values = meta.id.split(':',3);
    emit([values[0], values[1], values[2]], null);
}

上記の関数は、オブジェクトタイプ、アプリケーション名、そして一意なオブジェクトIDを含むキーで構成されたビューを出力します。特別なオブジェクトタイプを使用しているすべてのエントリを取得するためにビューへ問い合わせすることができます:

startkey=['monster', null, null]&endkey=['monster','\u0000' ,'\u0000']