MongoDB shell操作
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操作的更多相关文章
- [转] MongoDB shell 操作 (查询)
最近有用到mongoDB,每次都去查看官方文档很是费劲,自己准备写点东西.但在博客园上看到另外的一篇博文不错,就转载过来,加上点儿自己的修饰 左边是mongodb查询语句,右边是sql语句.对照着用, ...
- MongoDB学习笔记二—Shell操作
数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和fal ...
- 每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作
上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program F ...
- 【mongodb系统学习之八】mongodb shell常用操作
八.mongodb shell常用基础操作(每个语句后可以加分号,也可以不加,看情况定(有的工具中可以不加),最好是加): 1).进入shell操作界面:mongo,上边已有演示: 2).查看当前使 ...
- MongoDB 学习笔记(一):安装及简单shell操作
一.说明 1.该系列MongoDB学习笔记的学习环境采用的MongoDB版本为mongodb-win32-i386-2.4.6,操作系统为win7. 二.安装 1.新建两个目录,分别是D:\Insta ...
- MongoDB Shell 经常使用操作
数组查询 数组查询 MongoDB 中有子文档的概念.一个文档中能方便的嵌入子文档,这与关系性数据库有着明显的不同,在查询时,语法有一些注意点. 样例代码,假如我们的一个集合(tests)中存在标签键 ...
- MongoDB Shell 经常使用的操作
数组查询 数组查询 MongoDB 中有子文档的概念,一个文档中能方便的嵌入子文档,这与关系性数据库有着明显的不同.在查询时,语法有一些注意点. 样例代码,假如我们的一个集合(tests)中存在标签键 ...
- MongoDB的Shell操作
前言 本文从介绍了MongoShell 的配置.脚本.数据类型和其他指令. MongoShell - 简介 MongoShell是一个互动的JavaScript接口的MongoDB,可以使用Mongo ...
- Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作
2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...
随机推荐
- Ceph之数据分布:CRUSH算法与一致性Hash
转自于:http://www.cnblogs.com/shanno/p/3958298.html?utm_source=tuicool 数据分布是分布式存储系统的一个重要部分,数据分布算法至少要考虑以 ...
- for循环语句之棋盘放粮食、百鸡百钱、纸张的折叠问题
1.棋盘放粮食 ; ; i < ; i++) { ; ; j <= i; j++) { x = x * ; } lszl = lszl + x; } double zl = lszl * ...
- 一个人的旅行(Dijkstra算法)
这道题可用Dijkstra算法,好像还有floyd等算法,慢慢研究 Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途 ...
- dpkg卸载和安装deb
今天在linux mint上安装个东西,没有安装完全,但是启动的时候能够启动,为了防止以后出现异常,想把它卸载了,在软件上点卸载,没有反应, 如下图: 没有指定卸载的包源,无奈使用sudo apt-g ...
- memset函数的使用
void *memset(void *s, int ch, size_t n); 说明:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 关于mem ...
- Codeforces 486B - OR in Matrix
矩阵的 OR ,也是醉了. 题目意思很简单,就是问你有没有这么一个矩阵,可以变化,得到输入的矩阵. 要求是这个矩阵每行都可以上下任意移动,每列都可以左右任意移动. 解题方法: 1.也是导致我WA 的原 ...
- 开大Stack的一个小技巧
在程序头部添加一行 #pragma comment(linker, "/STACK:16777216") 可有效开大堆栈 实验效果如下: 11330179 2014-08-05 1 ...
- DG创建和提取虚拟机文件
http://www.cr173.com/soft/33359.html http://www.diskgenius.cn/help/newvmdk.php
- Android Matrix(坐标矩阵)
Android Matrix 2016-02-26 14:38:10 介绍 中文名:坐标矩阵 高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作. 在Android里面,Matr ...
- 客户机增加域 及server文件共享
客户机要增加域,右击我的电脑--属性--更改--域,输入域名.例:输入域名company.com中的company , 后面的com不要加. 再在弹出的窗体中输入域管理员的完整username(use ...