Le regroupement des clés par nom

voix
1

J'utilise le service de Couchbase pour stocker des informations temporaires. Voici mon problème: j'ai beaucoup de paires clé-valeur, mais ils sont, cependant, de façon classique divisés en groupes (key1_ *; key2_ *; key3_ *). Par exemple, la paire serait ressemble à:

KEY1_1: value1; key1_2: valeur2; key1_3: value3;
KEY2_1: valeur4; key2_2: valeur5; key2_3: valeur6;
key3_1: valeur7; key3_2: Value8; key3_3: value9;

Je dois envoyer une demande qui sera utilisée pour renvoyer des informations sur la disponibilité des valeurs pour l'un de ces groupes: par exemple:

var info = client.Get ( key1_ *) ou quelque chose comme ça. Y at-il filtre le nom des touches, ou sont des options pour le regroupement, ce qui pourrait résoudre mon problème?

Créé 16/05/2012 à 09:44
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Dans Couchbase 2.0, vous pouvez utiliser les vues. Vous pouvez stocker dans la base de données objet JSON, donc une paire de clés-val devrait ressembler à:

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

Où groupe est un équivalent à key1_ *; Ensuite, créez une vue avec la carte:

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

Vous avez obtenir des paires clé-valeur de ce format:

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

alors vous pouvez filtrer les résultats par clé en ajoutant « ? key = » de demander. Ou si vous utilisez des libs api, par exemple .net api, vous pouvez le faire à partir de votre code:

Client.GetView<Int64>(Couchbase.Configuration.DevelopmentModeNameTransformer.NamePrefix + "MyViewName", "MyViewName").Key(<desired_key>)
Créé 16/05/2012 à 13:47
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more