zoukankan      html  css  js  c++  java
  • mongodb_命令行

                

    、打开命令行

    cmd
    -->
    cd C:Program FilesMongoDBServer3.0in
    -->
    mongo.exe
     
    二、连接远程机器命令行工具
    1、连接远程服务器(注意该命令是定位到bin目录下执行,而不是定位到mongo.exe下执行)
          mongo.exe 192.168.1.27:27017
    2、使用数据库
          use DBName
     

    三、常用命令行(管理)

    1. show dbs:显示数据库列表 
    2. db.getName():查看当前数据库
    3. db.dropDatabase():删除当前数据库
    4. db.stats():查看当前数据库状态
    5. db.getMongo():查看当前链接的机器
    6. db.version():查看当前数据库版本
    7. use <dbName>:切换数据库 
    8. show collections:显示当前数据库中的集合(类似关系数据库中的表) 
    9. show users:显示用户
    10.  db.addUser("name");:添加用户
    11.  db.removeUser("userName");:删除用户
    12.  db.auth("userName", "123123");:用户验证
    13. 创建管理员用户
      use admin
      db.createUser(
        {
          user: "sa1",
          pwd: "sa1",
          roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
        }
      )
    14. db.help():显示数据库操作命令,里面有很多的命令 
    15. db.<collections>.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 
     

    四、常用命令行(集合)

    1. 创建一个聚集集合(table): db.createCollection(“ collectionName”, {size: 20, capped: 5, max: 100});
    2. 得到指定名称的聚集集合(table):db.getCollection("collectionName");
    3. 得到当前db的所有聚集集合:db.getCollectionNames();
    4. 显示当前db所有聚集集合的状态: db.printCollectionStats();
    5. 查询当前集合的数据条数:db.<collectionName >.count();
    6. 当前集合状态:db.<collectionName >.stats();
    7. 当前集合大小:db.<collectionName>.totalSize()
    8. 当前集合存储空间:db.<collectionName>.storageSize();
    9. 当前集合重命名:db.<collectionName>.renameCollection("users")
    10. 删除当前集合:db.<collectionName>.drop();
     
    五、常用命令行(索引)
    1. 创建索引
      db.userInfo.ensureIndex({name: 1});
      db.userInfo.ensureIndex({name: 1, ts: -1});  --联合索引
    2. 查询当前集合所有索引
      db.userInfo.getIndexes();
    3. 查看总索引记录大小
      db.userInfo.totalIndexSize();
    4. 读取当前集合的所有索引信息
      db.users.reIndex();
    5. 删除指定索引
      db.users.dropIndex("
      name
      ");
    6. 删除集合所有索引
      db.users.dropIndexes();
    
    

    六、常用命令行(查询)

     

    1. 集合查询帮助:db.<collectionName>.find().help()
    2. 集合查询结果美化:db.< collectionName >.find().pretty():对于当前数据库中的foo集合进行数据查找(会列出所有数据)
       
      db.foo.find( { a : 1 } ):按条件查询数据
    3. 去掉指定列相同的数据:db.<collectionName>.distinct("name")
      相当于:select distict name from userInfo;
    4. 比较查询:db.<collectionName>. find({age: {$gt: 22}}); 大于:$gt 大于:$lt 大于等于:$gte 大于等于:$lte
    5. 多个查询条件
      db.<collectionName>. find({age: {$gte: 23, $lte: 26},name:'james'});
    6. 包含like查询
      db.<collectionName>. find({name: /mongo/});  (相当于'%mongo%')
      db.<collectionName>. find({}, {name: 1, age: 1});. find({name: /^mongo/});    (相当于'mongo%')
    7. Or 条件查询

      db.<collectionName>
      .find({$or: [{age: 22}, {age: 25}]});
    8. 查询指定列:db.<collectionName>. find({}, {name: 1, age: 1});
    9. 查询范围内数据 查询前5条数据:db.<collectionName>. find().limit(5)查询5条后数据:db.<collectionName>. find().skip(5) 查询5-10条数据:db.<collectionName>. find().limit(10).skip(5): 查询一条数据:db.<collectionName>. findOne()   <=>find().limit(1)<=> top 1
    10. 查询记录数量:db.<collectionName>.find({$or: [{age: 22}, {age: 25}]}).count()

    七、常用命令行(增删改)

    1. 新增数据:db.users.save({name: ‘zhangsan’, age: 25, sex: true});
    2. 修改数据 第三个参数是upsert;第四个参数是multi。true:更新匹配到的所有文档,false:更新匹配到的第一个文档,默认值
       db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true);db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true); (相当于update age=age+50)db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true); (相当于update age=age+50,name='holo')
    3. 删除数据:db.users.remove({age: 132});
    4. 查询并修改数据
      db.users.findAndModify({
          query: {age: {$gte: 25}}, 
          sort: {age: -1}, 
          update: {$set: {name: 'a2'}, $inc: {age: 2}},
          remove: true
      });

      db.COLLECTION_NAME.findAndModify({query:{},

                                                                      update:{},

                                                                      remove:true|false,

                                                                      new:true|false,

                                                                      sort:{},

                                                                      fields:{},

                                                                      upsert:true|false});

      query是查询选择器,与findOne的查询选择器相同

      update是要更新的值,不能与remove同时出现

      remove表示删除符合query条件的文档,不能与update同时出现

      new为true:返回个性后的文档,false:返回个性前的,默认是false

      sort:排序条件,与sort函数的参数一致。

      fields:投影操作,与find*的第二个参数一致。

      upsert:与update的upsert参数一样

       
     
     
     
     





  • 相关阅读:
    基础算法:两数之和
    adb常用命令食用方法
    C语言面试题
    C语言经典笔试题目
    嵌入式01 51单片机实验02 sfr和sbit bit和int char
    C语言 01 volatile关键字
    C++ 01 基础知识点
    嵌入式02 STM32 实验11 NVIC和中断总结
    嵌入式02 STM32 实验10 定时器中断
    嵌入式02 STM32 实验09 独立/窗口看门狗
  • 原文地址:https://www.cnblogs.com/gossip/p/4543381.html
Copyright © 2011-2022 走看看