mongodb的增删查改等常用操作

来源:互联网 发布:大数据培训视频 编辑:程序博客网 时间:2024/05/22 02:15
linux 登录  mongo 192.168.23.128:27017/zwy//增加 db.person.insert({name:"zzz",sex:"nan",age:"100"});//循环批量插入for(var i = 0 ; i < 100; i++) {db.person.insert({name:"zzz",sex:"nan",age:i});}//删除db.person.remove({name:"zzz",age:18})//查找db.person.find({name:"zzz",age:18})//排序  1 为升序排序,而-1是用于降序排列。db.person.find().sort({age:-1})//分页db.person.find().sort({age:-1}).skip(10).limit(10)//修改db.person.findOne({"name":"zzz",age:17})db.person.update(p,{name:"zwy",age:99})//批量修改 db.person.update({name:"zzz"},{$set:{age:336}},false,true)//不存在就插入db.person.update({age:30},{$set:{age:316}},true)//group by/* * key:grouby 的关键字 * initial :初始化话函数,所有age相同的组别,执行reduce之前要先调用的函数 * reduce:对所有age相同的记录要执行的reduce函数 * finalize:执行完所有的reduce函数之后要调用的函数 * condition:输出的判断条件*/db.person.group({key:{age:true},initial:{"person":[]},$reduce:function(cur, prev) {prev.person.push(cur.name);},finalize:function(out) { out.size =  out.person.length;},condition:{age:{$gt:20}}})//MapReduce  hadoop的MapReduce操作// map function m = function(){        emit( this.age , { count : 1 } );   };// reduce functionr = function( key , values ){    var total = 0;    for ( var i=0; i<values.length; i++ )        total += values[i].count;    return { count : total };};res = db.person.mapReduce(m,r,{out:"list"});db.list.find()
//查询索引 db.person.getIndexes()//创建索引  1 为升序排序,而-1是用于降序排列。db.person.ensureIndex({age:1})//删除索引db.person.dropIndex({age:1})//聚合/*$sum计算总和。$avg计算平均值$min获取集合中所有文档对应值得最小值。$max获取集合中所有文档对应值得最大值。$push在结果文档中插入值到一个数组中。$addToSet在结果文档中插入值到一个数组中,但不创建副本。$first根据资源文档的排序获取第一个文档数据。$last根据资源文档的排序获取最后一个文档数据*/db.person.aggregate([{$group : {_id : "$age" ,num_age : {$sum : 1 }}}])==>等价于 select by_user, count(*) from mycol group by by_userdb.person.aggregate([{$group : {_id : "$age" ,avg_age : {$sum :  "$age" }}}])==>等价于 select by_user, sum(age) from mycol group by by_user


1 0
原创粉丝点击