shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的。使用shell 命令,需要启动mongo.exe。

常用shell命令如下:

1、查询本地所有数据库名称

> show dbs;

2、切换至指定数据库环境(若无指定的数据库,则创建新的库)

> use mydb;

       3、查询当前库下的所有聚集集合collection(相当于table)

> show collections;

4、创建聚集集合

> db.createCollection('mycollection');

5、查询聚集集合中数据条数

> db.mycollection.count();

6、插入数据

> db.mycollection.insert({'username':'xyz_lmn','age':26,'salary':120});

往'mycollection'聚集集合中插上一条数库,name为'xyz_lmn',age为'26',salary为'120'

7、查询age等于26的数据

> db.mycollection.find({"age":26});

8、查询salary大于100的数据

> db.mycollection.find({salary:{$gt:100}});

9、查询age小于30,salary大于100的数据

> db.mycollection.find({age:{$lt:30}},{salary:{$gt:100}});

10、查询salary小于40或salary大于200的数据

> db.mycollection.find({$or: [{salary: {$lt:40}}, {salary: {$gt:200}}]});

11、查询指定列的数据

> db.mycollection.find({},{age:1,salary:1});

1表示显示此列的意思,也可以用true表示

     12、查询username中包含'e'的数据

> db.mycollection.find({username:/e/});

13、查询以a打头的数据

> db.mycollection.find({username:/^a/});

14、查询age列数据,并去掉重复数据

> db.mycollection.distinct('age');

15、查询前10条数据

> db.mycollection.find().limit(10);

16、查询1条以后的所有数据

> db.mycollection.find().skip(1);

17、查询第一条数据

> db.mycollection.findOne();

18、查询结果集的记录数(查询salary小于40或大于100的记录数)

db.mycollection.find({$or: [{salary: {$lt:40}}, {salary: {$gt:100}}]}).count();

19、按salary升序排序

> db.mycollection.find().sort({salary:1});

按照salary字段升序排序

20、降序

> db.mycollection.find().sort({salary:-1});

按照salary字段降序排序

21、根据username修改age

> db.employee.update({username:'jim'},{$set:{age:22}},false,true);

db.collection.update( criteria, objNew, upsert, multi )

criteria : update的查询条件,类似sql update查询内where后面的

objNew   : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的

upsert   : 如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。

multi    : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

22、将指定username的age字段增加5

> db.mycollection.update({username:'jim'},{$inc:{age:5}},false,true);

将username为‘jim’的age字段加5

       23、删除username为'rose'的数据

> db.mycollection.remove({uname:'rose'});

24、集合collection重命名

> db.mycollection.renameCollection('c_temp');

将mycollection集合重命名为'c_temp'

25、删除集合

> db.c_temp.drop();

删除名为'c_temp'的集合

26、删除当前数据库

> db.dropDatabase();

MongoDB shell操作的更多相关文章

  1. [转] MongoDB shell 操作 (查询)

    最近有用到mongoDB,每次都去查看官方文档很是费劲,自己准备写点东西.但在博客园上看到另外的一篇博文不错,就转载过来,加上点儿自己的修饰 左边是mongodb查询语句,右边是sql语句.对照着用, ...

  2. MongoDB学习笔记二—Shell操作

    数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和fal ...

  3. 每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作

    上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program F ...

  4. 【mongodb系统学习之八】mongodb shell常用操作

    八.mongodb  shell常用基础操作(每个语句后可以加分号,也可以不加,看情况定(有的工具中可以不加),最好是加): 1).进入shell操作界面:mongo,上边已有演示: 2).查看当前使 ...

  5. MongoDB 学习笔记(一):安装及简单shell操作

    一.说明 1.该系列MongoDB学习笔记的学习环境采用的MongoDB版本为mongodb-win32-i386-2.4.6,操作系统为win7. 二.安装 1.新建两个目录,分别是D:\Insta ...

  6. MongoDB Shell 经常使用操作

    数组查询 数组查询 MongoDB 中有子文档的概念.一个文档中能方便的嵌入子文档,这与关系性数据库有着明显的不同,在查询时,语法有一些注意点. 样例代码,假如我们的一个集合(tests)中存在标签键 ...

  7. MongoDB Shell 经常使用的操作

    数组查询 数组查询 MongoDB 中有子文档的概念,一个文档中能方便的嵌入子文档,这与关系性数据库有着明显的不同.在查询时,语法有一些注意点. 样例代码,假如我们的一个集合(tests)中存在标签键 ...

  8. MongoDB的Shell操作

    前言 本文从介绍了MongoShell 的配置.脚本.数据类型和其他指令. MongoShell - 简介 MongoShell是一个互动的JavaScript接口的MongoDB,可以使用Mongo ...

  9. Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作

    2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...

随机推荐

  1. C++中,引用作为函数参数

    引用作为函数参数 C++之所以增加引用类型, 主要是把它作为函数参数,以扩充函数传递数据的功能. ———————————————————— c++,函数传参:(1)将变量名作为实参和形参.这时传给形参 ...

  2. 杭电 2029 Palindromes _easy version

    Problem Description "回文串"是一个正读和反读都一样的字符串,比如"level"或者"noon"等等就是回文串.请写一个 ...

  3. BZOJ 3391: [Usaco2004 Dec]Tree Cutting网络破坏( dfs )

    因为是棵树 , 所以直接 dfs 就好了... ---------------------------------------------------------------------------- ...

  4. 【转】lnmp_auto:自动化安装lnmp环境脚本

    原文链接: lnmp_auto:自动化安装lnmp环境脚本  这哥们整理的这篇博文很好  转载分享 博文转载如下: 源代码在github上:https://github.com/jianfengye/ ...

  5. POJ1273 最大流 EK算法

    套了个EK的模板 //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #include <stdi ...

  6. POJ 3047 Fibonacci

    DEBUG很辛苦,且行, 且珍惜 原代码: ans[0][0] = (ans[0][0] * a[flag][0][0] + ans[0][1] * a[flag][1][0]) % 10000; a ...

  7. modelsim中的文件操作—— 大数据测试

    在modelsim中不可避免的需要进行文件操作,在窗口中查看代码的操作情况,下面是我自己M序列实验中的一段测试代码 integer i,j ,k,m; integer m_dataFILE , ind ...

  8. 为什么国内的网盘公司都在 TB 的级别上竞争,成本会不会太高?(还有好多其它回复)

    作者:杜鑫链接:http://www.zhihu.com/question/21591490/answer/18762821来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...

  9. Impossible WPF Part 1: Binding Properties

    原文 http://www.11011.net/wpf-binding-properties Ever wanted to write the following? <RichTextBoxDo ...

  10. Linux下VNC的安装和开机启动

    1.确认VNC是否安装默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上.确认是否已经安装VNC服务及查看安装的VNC版本[root@testdb ~]# ...