Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. // Example 3 : Get the Eldest and Youngest Person in each gender
  2.  
  3. var mongojs = require('mongojs');
  4. var db = mongojs('mapReduceDB', ['sourceData', 'example2_results']);
  5.  
  6.  
  7. var mapper = function () {
  8. var x = {age : this.age, name : this.name};
  9. emit(this.gender, {min : x , max : x});
  10. };
  11.  
  12.  
  13. var reducer = function(key, values){
  14. var res = values[0];
  15. for (var i = 1; i < values.length; i++) {
  16. if(values[i].min.age < res.min.age)
  17. res.min = {name : values[i].min.name, age : values[i].min.age};
  18. if (values[i].max.age > res.max.age)
  19. res.max = {name : values[i].max.name, age : values[i].max.age};
  20. };
  21. return res;
  22. };
  23.  
  24. db.sourceData.mapReduce(
  25. mapper,
  26. reducer,
  27. {
  28. out : "example2_results"
  29. }
  30. );
  31.  
  32. db.example2_results.find(function (err, docs) {
  33. if(err) console.log(err);
  34. console.log(JSON.stringify(docs));
  35. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement