mongodb学习1---基本命令

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节介绍。

原文地址:https://www.cnblogs.com/zhangyabin---acm/p/5919504.html