db.user.drop(); 
					
						for(var i=10; i< 100; i++) { 
					
						  db.user.insert({ 
					
						    name:"user" + i,  
					
						    age : Math.floor(Math.random()*10)+ 20,  
					
						    sex : Math.floor(Math.random()*3)%2 ==0 ? 'M' : 'F', 
					
						    chinese : Math.floor(Math.random()*50)+50, 
					
						    math : Math.floor(Math.random()*50)+50, 
					
						    english : Math.floor(Math.random()*50)+50, 
					
						    class : "C" + i%5 
					
						  }) 
					
						} 
					
						 
					
						
					
						
					
						db.user.group({ 
					
						  key: {"class": true}, 
					
						  initial: {"person": []}, 
					
						  reduce: function(cur, prev) { 
					
						    prev.person.push({name: cur.name, sex: cur.sex, age: cur.age}); 
					
						  } 
					
						}); 
					
						 
					
						
					
						db.user.group({ 
					
						  key: {"class": true}, 
					
						  initial: {"person": []}, 
					
						  reduce: function(doc, out){ 
					
						    out.person.push({name: doc.name, sex: doc.sex, age: doc.age}); 
					
						  }, 
					
						  finalize: function(out){ 
					
						    out.count = out.person.length; 
					
						  }, 
					
						  condition: {"age": {$gt: 25}} 
					
						}) 
					
						 
					
						
					
						db.user.group({ 
					
						  key: {"class": true}, 
					
						  initial: {"chinese_min": 0, "chinese_max":0 }, 
					
						  reduce: function(doc, out){ 
					
						    out.chinese_min = doc.chinese; 
					
						    out.chinese_min = doc.chinese; 
					
						 
					
						    out.chinese_min = Math.min(out.chinese_min, doc.chinese); 
					
						    out.chinese_max = Math.max(out.chinese_max, doc.chinese) 
					
						  }, 
					
						}) 
					
						 
					
						
					
						db.user.group({ 
					
						  key: {"_id" : true}, 
					
						  initial: {name:"", total: 0, avg: 0}, 
					
						  reduce: function(doc, out){ 
					
						    out.name = doc.name; 
					
						    out.total = doc.chinese + doc.math + doc.english; 
					
						    out.avg = Math.floor(out.total / 3); 
					
						  } 
					
						})