、打开命令行

cmd
-->
cd C:\Program Files\MongoDB\Server\3.0\bin\
-->
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参数一样

 
 
 
 

mongodb_命令行的更多相关文章

  1. Cmder--Windows下命令行利器

    cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...

  2. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  3. 让 windows 下的命令行程序 cmd.exe 用起来更顺手

    在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...

  4. 利用Node.js的Net模块实现一个命令行多人聊天室

    1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类 ...

  5. Java程序:从命令行接收多个数字,求和并输出结果

    一.设计思想:由于命令行接收的是字符串类型,因此应先将字符串类型转化为整型或其他字符型,然后利用for循环求和并输出结果 二.程序流程图: 三.源程序代码:   //王荣荣 2016/9/23     ...

  6. Android 在Android代码中执行命令行

    1.路径最好不要是自己拼写的路径/mnt/shell/emulated/0/wifidog.conf 最好是通过方法获取的路径,不然可能导致命令无效  (挂载点的原因) public static f ...

  7. windows下的命令行工具babun

    什么是babun babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell.用官方的题目说就是 ...

  8. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  9. python处理命令行参数

    直接从命令行执行py文件的时候如果带有参数,如何获取这些参数,如何解析? http://blog.chinaunix.net/uid-20786165-id-3182268.html sys.argv ...

随机推荐

  1. BZOJ 4823: [Cqoi2017]老C的方块

    分析: 我觉得我的网络流白学了...QAQ... 其实数据范围本是无法用网络流跑过去的,然而出题者想让他跑过去,也就跑过去了... 看到题目其实感觉很麻烦,不知道从哪里入手,那么仔细观察所给出的有用信 ...

  2. 汕头市队赛 SRM 07 B 好玩的麻将

    B 好玩的麻将 SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     KPM上周又打了n场麻将,又控了分使得自己的排名是1..n的一个排列.     但她 ...

  3. UVALIVE 5096 Volume

    This time your job is to calculate the volume of a special object. The object consists of two orthog ...

  4. 安全测试===Mysql 注入技巧学习 MySQL注入技巧(2)

    原文地址:http://websec.files.wordpress.com/2010/11/sqli2.pdf 0x00.介绍 也可以参考瞌腄龙的mysql注入科普:http://drops.woo ...

  5. django的setting文件更换了位置需要进行的更改

    1. Pycharm --> 工具栏 --> Edit Configurations --> 修改 settings 文件 2. 项目文件夹下的wsgi.py 3. 项目文件夹下的m ...

  6. mysql之any,some all(zz)

    转载自:http://blog.csdn.net/netcy/article/details/8464503 ALL和ANY操作符的常见用法是结合一个相对比较操作符对一个数据列子查询的结果进行测试.它 ...

  7. Django基础之模板

    Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }} 和 {% %} 变量相关的用{{ }},逻辑相关的用{% %}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成 ...

  8. 对数据访问层的重构(及重构中Perl的应用)

    以前上学的时候,听到“一个学生在毕业后刚刚开始编程的头几年中,写出的代码多半是垃圾”这样的说法,均不屑一顾.现在工作一年多了,越发感觉自己代码中疏漏处甚多,故近来常做亡羊补牢的重构之举.拿自己4个月前 ...

  9. hdu 5747(数学,贪心)

    Aaronson Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total ...

  10. 用 grunt-contrib-connect 构建实时预览开发环境 实时刷新

    本文基本是参照着 用Grunt与livereload构建实时预览的开发环境 实操了一遍,直接实现能实时预览文件列表,内容页面.不用刷新页面了,这比以前开发网页程序都简单. 这里要用到的 Grunt 插 ...