Skip to content

Instantly share code, notes, and snippets.

@AlexMocioi
Created January 18, 2014 08:36
Show Gist options
  • Save AlexMocioi/8487812 to your computer and use it in GitHub Desktop.
Save AlexMocioi/8487812 to your computer and use it in GitHub Desktop.
Funcție map-reduce pe CouchDB, face SHA256 pe document:
//Map
function(doc) {
// Machetă document complex
if ( doc.tip=='MD' ) {
var ss = ''+doc.macheta+doc.prd+doc['_id']+doc['_rev'];
for (var i=0,n=doc.valori.length; i<n; i++) {
for (var j=0, m=doc.valori[i].registre.length; j<m; j++) {
var k = doc.valori[i].registre[j];
ss += doc.valori[i].valoare+k[0]+k[1]+k[2]+k[3];
}
}
emit([doc.prd,doc.macheta],SHA256(ss));
}
}
//Reduce
function (keys,values) {
var ss='';
for (var i=0,n=values.length;i<n;i++) {
ss += values[i];
}
return SHA256(ss);
}
@brailateo
Copy link

Funcția SHA256 nu este disponibilă direct în environment-ul JavaScript pus la dispoziție la rularea funcțiilor map/reduce, de aia trebuie vârâtă implementarea funcției imediat acolo, ca funcție internă. Se lungește puțin codul da' merită!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment