mongodb基础操作

1、命令行操作 
cd /usr/local/mongodb/bin/mongo
./mongo -port 27017
概念: 集合==表  文档==数据
•show dbs:查看数据库
•show collectios:查看集合
•db.createCollection("mycollection"):创建一个集合db.createCollection("mycollection")
MongoDB db.createCollection(name, options) 是用来创建集合.
•use:切换数据库,不存在就创建
• insert:插入数据
•find:查找数据
•update:修改数据
•remove:删除数据
        查看所有的数据库:
        show dbs;
        use db;
        切换数据库,如果数据库不存在的话,创建
        增:insert
            如果insert一个不存在的集合的话,就会自动创建
            db.wsp.insert({"name":"张晓东","age":38,"sex":"未知","car":"X-RV"});
            db.wsp.insert({"name":"二汪","age":"47","hourse":"狗窝","home":"Henan"});
            db.wsp.insert([{"name":"张晓东","age":38,"sex":"未知","car":"X-RV"},{"name":"张晓东","age":38,"sex":"未知","car":"X-RV"}]);
            #同时插入多条数据
         查:find
            db.wsp.find({"name":"张晓东"});
            db.wsp.find({"name":"张晓东","sex":"未知"});#and操作
            db.wsp.find();#查询所有的数据
            db.wsp.find().pretty();#格式化显示
            db.wsp.find().count();#获取结果的行数
            db.wsp.find().sort({"name":-1})#正序排,-1倒叙排序/1正序
        删:remove
            db.wsp.remove({"name":"张晓东"});#删除指定的条件
            db.wsp.remove({"name":"张晓东"},2);#如果有多条匹配的话,删除几条
            db.wsp.remove();#删除所有的数据
        改:update
            db.wsp.update({"name":"张晓东"},{"name":"魏乐"});
            #如果有多条匹配,只修改一条,会覆盖原有的数据,原有数据就没有了
            db.wsp.update({"name":"二汪"},{$set:{"name":"远方"}});
            #只想改某个key的值,就使用$set
            db.wsp.update({"name":"张晓东"},{$set:{"name":"魏乐"}},{multi:true});
            #如果有多条匹配的话 ,默认是只修改一条的,加上multi:true,会修改所有的数据。
    profile#类似于mysql的慢查询
        db.getProfilingLevel()#获取profile级别
        db.setProfilingLevel(1,2000)# 设置profile级别
            0:不开启
            1:记录慢命令,默认为大于100ms
            2:记录所有命令
        db.system.profile.find().pretty();#获取到慢记录的结果
    mongodb创建索引:
        db.wsp.ensureIndex({"name":1})#创建单列索引
        db.wsp.ensureIndex({"name":1,"age":1})#创建多列索引
        db.ew.ensureIndex({"id":1},{"unique":true});#创建唯一索引
        db.syste m.indexes.find();查看数据库中所有索引
        db.ew.getIndexes();#查看当前集合中的索引
        Mongodb中使用dropIdenx来删除索引
        db.ew.dropIndex({"id":1});删除指定索引
        db.ew.dropIndexes();删除所有的索引
    explain  查看执行效率
        db.ew.find({"id":1}).explain();
        nscanned: 被扫描的文档数量
        n: 返回的文档数量
        millis: 耗时(毫秒)
        indexBounds: 所使用的索引
    通过profile可以获取到执行慢的语句
    通过explain可以可以解析查询的语句

        mongodb的连接数
        索引
        内存大小
   

 

posted @ 2017-01-17 10:23  D.零下的小书屋  阅读(121)  评论(0编辑  收藏  举报