> > > db.nettuts.update({"_id" : ObjectId("526df0167eaf2acc719db609")}, {"$set" : {"age" : 18 }}); > db.nettuts.update({"_id" : ObjectId("526df0167eaf2acc719db60a")}, {"$set" : {"age" : 45 }}); > db.nettuts.update({"_id" : ObjectId("526df0167eaf2acc719db60b")}, {"$set" : {"age" : 65 }}); > db.nettuts.update({"_id" : ObjectId("526df0167eaf2acc719db60c")}, {"$set" : {"age" : 43 }}); > db.nettuts.update({"_id" : ObjectId("526df0167eaf2acc719db60d")}, {"$set" : {"age" : 22 }}); > db.nettuts.update({"_id" : ObjectId("526df0167eaf2acc719db60e")}, {"$set" : {"age" : 45 }}); > db.nettuts.update({"_id" : ObjectId("526df0177eaf2acc719db60f")}, {"$set" : {"age" : 33 }}); > > > > > db.nettuts.find() { "_id" : ObjectId("526df0167eaf2acc719db609"), "age" : 18, "dob" : "21/04/1978", "first" : "matthew", "gender" : "m", "hair_colour" : "brown", "last" : "setter", "nationality" : "australian", "occupation" : "developer" } { "_id" : ObjectId("526df0167eaf2acc719db60a"), "age" : 45, "dob" : "26/03/1940", "first" : "james", "gender" : "m", "hair_colour" : "brown", "last" : "caan", "nationality" : "american", "occupation" : "actor" } { "_id" : ObjectId("526df0167eaf2acc719db60b"), "age" : 65, "dob" : "03/06/1925", "first" : "arnold", "gender" : "m", "hair_colour" : "brown", "last" : "schwarzenegger", "nationality" : "american", "occupation" : "actor" } { "_id" : ObjectId("526df0167eaf2acc719db60c"), "age" : 43, "dob" : "21/04/1978", "first" : "tony", "gender" : "m", "hair_colour" : "brown", "last" : "curtis", "nationality" : "american", "occupation" : "developer" } { "_id" : ObjectId("526df0167eaf2acc719db60d"), "age" : 22, "dob" : "22/11/1958", "first" : "jamie lee", "gender" : "f", "hair_colour" : "brown", "last" : "curtis", "nationality" : "american", "occupation" : "actor" } { "_id" : ObjectId("526df0167eaf2acc719db60e"), "age" : 45, "dob" : "14/03/1933", "first" : "michael", "gender" : "m", "hair_colour" : "brown", "last" : "caine", "nationality" : "english", "occupation" : "actor" } { "_id" : ObjectId("526df0177eaf2acc719db60f"), "age" : 33, "dob" : "09/12/1934", "first" : "judi", "gender" : "f", "hair_colour" : "white", "last" : "dench", "nationality" : "english", "occupation" : "actress" } > > > > db.nettuts.find( { "age" : { "$lt" : 40 } } ); { "_id" : ObjectId("526df0167eaf2acc719db609"), "age" : 18, "dob" : "21/04/1978", "first" : "matthew", "gender" : "m", "hair_colour" : "brown", "last" : "setter", "nationality" : "australian", "occupation" : "developer" } { "_id" : ObjectId("526df0167eaf2acc719db60d"), "age" : 22, "dob" : "22/11/1958", "first" : "jamie lee", "gender" : "f", "hair_colour" : "brown", "last" : "curtis", "nationality" : "american", "occupation" : "actor" } { "_id" : ObjectId("526df0177eaf2acc719db60f"), "age" : 33, "dob" : "09/12/1934", "first" : "judi", "gender" : "f", "hair_colour" : "white", "last" : "dench", "nationality" : "english", "occupation" : "actress" } > > > > > db.nettuts.find( { "age" : { "$lte" : 40 } } ); { "_id" : ObjectId("526df0167eaf2acc719db609"), "age" : 18, "dob" : "21/04/1978", "first" : "matthew", "gender" : "m", "hair_colour" : "brown", "last" : "setter", "nationality" : "australian", "occupation" : "developer" } { "_id" : ObjectId("526df0167eaf2acc719db60d"), "age" : 22, "dob" : "22/11/1958", "first" : "jamie lee", "gender" : "f", "hair_colour" : "brown", "last" : "curtis", "nationality" : "american", "occupation" : "actor" } { "_id" : ObjectId("526df0177eaf2acc719db60f"), "age" : 33, "dob" : "09/12/1934", "first" : "judi", "gender" : "f", "hair_colour" : "white", "last" : "dench", "nationality" : "english", "occupation" : "actress" } > > > > > db.nettuts.find( { 'age' : { '$gt' : 47 } } ); { "_id" : ObjectId("526df0167eaf2acc719db60b"), "age" : 65, "dob" : "03/06/1925", "first" : "arnold", "gender" : "m", "hair_colour" : "brown", "last" : "schwarzenegger", "nationality" : "american", "occupation" : "actor" } > > > > db.nettuts.find( { 'age' : { '$gte' : 47 } } ); { "_id" : ObjectId("526df0167eaf2acc719db60b"), "age" : 65, "dob" : "03/06/1925", "first" : "arnold", "gender" : "m", "hair_colour" : "brown", "last" : "schwarzenegger", "nationality" : "american", "occupation" : "actor" } > > > db.nettuts.find( { 'occupation' : { '$in' : [ "actor", "developer" ] } }, { "first" : 1, "last" : 1 } ); { "_id" : ObjectId("526df0167eaf2acc719db609"), "first" : "matthew", "last" : "setter" } { "_id" : ObjectId("526df0167eaf2acc719db60a"), "first" : "james", "last" : "caan" } { "_id" : ObjectId("526df0167eaf2acc719db60b"), "first" : "arnold", "last" : "schwarzenegger" } { "_id" : ObjectId("526df0167eaf2acc719db60c"), "first" : "tony", "last" : "curtis" } { "_id" : ObjectId("526df0167eaf2acc719db60d"), "first" : "jamie lee", "last" : "curtis" } { "_id" : ObjectId("526df0167eaf2acc719db60e"), "first" : "michael", "last" : "caine" } > > > > > uts.find( { $or : [ { "gender" : "m", "occupation" : "developer" } ], "age" : { "$gt" : 40 } }, { "first" : 1, "last" : 1, "occupation" : 1, "dob" : 1 } ); { "_id" : ObjectId("526df0167eaf2acc719db60c"), "dob" : "21/04/1978", "first" : "tony", "last" : "curtis", "occupation" : "developer" } > > > > db.nettuts.find( { "first" : /(ma|to)*/i, "last" : /(se|de)/i } ); { "_id" : ObjectId("526df0167eaf2acc719db609"), "age" : 18, "dob" : "21/04/1978", "first" : "matthew", "gender" : "m", "hair_colour" : "brown", "last" : "setter", "nationality" : "australian", "occupation" : "developer" } { "_id" : ObjectId("526df0177eaf2acc719db60f"), "age" : 33, "dob" : "09/12/1934", "first" : "judi", "gender" : "f", "hair_colour" : "white", "last" : "dench", "nationality" : "english", "occupation" : "actress" } > > > > > > db.nettuts.find( { "first" : /(jam?e*)*/i, "gender" : "f", "occupation" : "actor", "nationality" : "american" } ); { "_id" : ObjectId("526df0167eaf2acc719db60d"), "age" : 22, "dob" : "22/11/1958", "first" : "jamie lee", "gender" : "f", "hair_colour" : "brown", "last" : "curtis", "nationality" : "american", "occupation" : "actor" } > > > > > > > var map = function() { ... emit( { gender: this.gender }, { count: 1 } ); ... } > > > > var reduce = function(key, values) { ... var result = { count : 0 }; ... ... values.forEach(function(value){ ... result.count += value.count; ... }) ... ... return result; ... } > > > > > var res = db.nettuts.mapReduce( map, reduce, { out : 'gender' } ); > > > > > db.gender.find(); { "_id" : { "gender" : "f" }, "value" : { "count" : 2 } } { "_id" : { "gender" : "m" }, "value" : { "count" : 5 } } > > > var res = db.nettuts.mapReduce( map, reduce, { out : 'gender', query : { "gender" : "f" } } ); > > > > db.gender.find(); { "_id" : { "gender" : "f" }, "value" : { "count" : 2 } } > > > > > > >