Je travaille sur un projet où j'utilise Riak avec Ripple, et j'ai trébuché sur un problème. Pour une raison quelconque, je reçois des doublons lors de la liaison de liens d'une structure de liens. Quand je longe la promenade en utilisant la boucle, je n'obtiens pas les doublons aussi loin que je peux voir.Duplicates lors de la liaison de riak à l'aide d'ondulations
La différence entre ma base boucle lien à pied
curl -v http://127.0.0.1:8098/riak/users/2306403e5177b4716da9df93b67300824aa2fd0e/_,projects,0/_,tasks,1
et mon lien à base d'entraînement rubis/Riak client promenade
result = Riak::MapReduce.new(self.robject.bucket.client).
add(self.robject.bucket,self.key).
link(Riak::WalkSpec.new({:key => 'projects'})).
link(Riak::WalkSpec.new({:key => 'tasks', :bucket=>'tasks'})).
map("function(v){ if(!JSON.parse(v.values[0].data).completed) {return [v];} else { return [];} }", {:keep => true}).run
est aussi loin que je peux dire à la carte à la fin .
Cependant le résultat de la carte/réduire contient plusieurs doublons. Je ne peux pas comprendre pourquoi. Maintenant, je me suis contenté de supprimer les doublons en fonction de la clé, mais je souhaite que le résultat de riak ne contienne pas de doublons, car il semble inutile de supprimer les doublons à la fin.
J'ai essayé ce qui suit:
- en vous assurant qu'il n'y a pas de doublons dans les liens ensembles de mes objets d'entraînement
- Chargement des données sans la carte réduire, mais la promenade de lien contient les clés en double.
Toute aide est appréciée.
Réponse impressionnante! – Morten