0:基本命令:
1,登录mongodb数据库
mongo
2,查看数据库,选择数据库
show dbs;
use table1;
3,查看集合
show collections;
4,查看集合所有数据
db.集合名字.find();
例如:
db.active.find();
5,待条件查询: 例如:查看集合某一天的数据
db.active.find({cd:20160425});
查看某一IP的数据
db.active.find({ip:"172.18.1.146"});
查看某一天的,某个IP的数据
db.active.find({cd:20160425,ip:"172.18.1.146"});
6,向active集合插入数据(自己修改IP,日期,appid)
db.active.save({cid:"xxx",ct:1460972029.91,ip:"59.151.116.79",appid:"392901672",xxx:"gjsjder5sdwetgjkgndf",cd:20160425,mac:""});
7,sendclick的操作类似
db.active.remove({cd:20160510})
db.active.update({cd:20160520},{$set:{ct:1460972029.92}},false,true);
第三个参数的意思是,如果不存在update的记录,是否插入,默认是false,不插入。
第四个参数:默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新
8,查询指定列的数据
db.userInfo.find({}, {name: 1, age: 1});
9,查询5-10条之间的数据
db.user.find().limit(10).skip(5)
10,mogodb的查询功能确实比标准的sql强大很多,特别是各种修改器和基于js函数的$where查询。(什么意思)
11,"$in" :是否在某一个集合的查询
db.user.find({"age":{"$in":[17,18,19]}})
12,MongoDB中的bson介绍
BSON是一种类似json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。它的优点是灵活性高,但它的缺点是空间利用率不是很理想。
13,$where查询
mongodb的$where查询非常强大,用它可以执行JavaScript作为查询的一部分。这使得查询几乎可以做任何事情。
基本样式如下:
db.myMongodb.find({$where : function() {}})
如果function返回true,该记录就返回。否则就不返回。
例子1:查询cid等于xxx的记录
db.active.find({$where:function(){
for(var current in this){
if(this[current] == 'xxx'){
return true;
}
}
return false;
}
})
例子2:查询在一条记录中,有2个不同字段但值相同的记录。
db.foo.find({$where:function(){
for(var current in this){
for(var other in this){
if(current != other && this[current] == this[other]){
return true;
}
}
}
return false;
}})
注意:不是必要时,一定不要用$where做查询。因为它在速度上比常规查询慢很多。每个文档都要从BSON转换成JavaScript对象,然后通过$where表达式来运行。而且还不能使用索引。另一种复杂的查询就是MapReduce,会在第2节介绍。