MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Eindeutige Werte eines Schlüssels in einem Unterdokument MongoDB (100 Millionen Datensätze)

Ich habe die Lösung ausprobiert, die ich gefunden habe hier und es hat gut funktioniert :) .. Ich werde den Thread behalten und meinen Code hinzufügen, falls ihn jemand braucht.

var SOURCE = db.sample;
var DEST = db.distinct;
DEST.drop();
map = function() {
  emit( this.user.screen_name , {count: 1});
}

reduce = function(key, values) {
  var count = 0;

  values.forEach(function(v) {
    count += v['count'];   
  });

  return {count: count};
};

res = SOURCE.mapReduce( map, reduce, 
    { out: 'distinct', 
     verbose: true
    }
    );

print( "distinct count= " + res.counts.output );
print( "distinct count=", DEST.count() );

Viele Grüße