1

私は一時的な情報を保存するためにcouchbaseサービスを使用しています。ここに私の問題があります: 私は多くのキーと値のペアを持っていますが、それらは慣習的にグループ (key1_ *; key2_ *; key3_ *) に分割されています。たとえば、ペアは次のようになります。

"key1_1":"value1"; "key1_2":"value2"; "key1_3":"value3";
"key2_1":"value4"; "key2_2":"value5"; "key2_3":"value6";
"key3_1":"value7"; "key3_2":"value8"; "key3_3":"value9";

これらのグループの値の可用性に関する情報を返すために使用されるリクエストを送信する必要があります: 例:

var info = client.Get ("key1_ *") など。キーの名前にフィルターはありますか、またはグループ化のオプションはありますか?これにより、問題を解決できますか?

4

1 に答える 1

1

カウチベース 2.0 ではビューを使用できます。json オブジェクトをデータベースに保存できるため、key-val ペアは次のようになります。

key:<guid>; value: {id:<guid>, group<int>, data<your_values_type>}

group は key1_* と同等です。次に、Map でビューを作成します。

function (doc) {
  emit(doc.group, [doc.id, doc.group, doc.data]);
}

そのような形式のキーと値のペアを取得しました:

key: <int>group ; value: <array>[id,group,data]

次に、リクエストに「?key=」を追加することで、結果をキーでフィルタリングできます。または、いくつかの api ライブラリ、つまり .net api を使用する場合は、コードから実行できます。

Client.GetView<Int64>(Couchbase.Configuration.DevelopmentModeNameTransformer.NamePrefix + "MyViewName", "MyViewName").Key(<desired_key>)
于 2012-05-16T12:47:40.707 に答える