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是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。
使用 "./mongo --help" 可查看相关连接参数,下面将从常见的操作,如插入,查询,修改,删除等几个方面阐述MongoDB shell的用法
1、插入记录
switched to db my_mongodb
> db.user.insert({uid:1,username:"Tom",age:25});
> db.user.insert({uid:2,username:"Jerry",age:25});
>
本例向数据库my_mongodb的表user中插入了2条记录。MongoDB会隐式的创建数据库my_mongodb和表user,所以这个例子没有建库和建表的过程。
注:此处使用的是db.user,而不是mydb.user.
可以通过show dbs和show collections来查看数据库及表,具体如下:
admin (empty)
local (empty)
my_mongodb 0.0625GB ---隐式创建的数据库
> show collections
system.indexes
user ---隐式创建的表
>
2、查询记录
查询表中的全部记录:
{ "_id" : ObjectId("4f81a49b779282ca68fd8a59"), "uid" : 1, "username" : "Tom", "age" : 25 }
{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 25 }
>
查询用户名是 ”Jerry” 记录:
{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 25 }
>
3、修改记录
将用户ID是2的记录的年龄修改为100:
>
查询一下是否改过来了:
{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 100 }
>
4、删除记录
将用户ID是1的记录从表user中删除:
> db.user.find();
{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 100 }
>
经验证,该记录确实被删除了。
MongoDB Shell的用法丰富且简单易懂,详见:http://www.mongodb.org/display/DOCS/Tutorial
MongoDB java客户端的用法详见:http://www.mongodb.org/display/DOCS/Java+Tutorial
http://blog.csdn.net/xyz_lmn/article/details/8072621
http://suo.iteye.com/blog/1073324
相关推荐
mongodb shell指令,在后台shell进行数据操作!
主要介绍了MongoDB Shell 命令,结合实例形式总结分析了MongoDB数据库常用的查询、更新、插入、集合、函数等相关操作技巧与注意事项,需要的朋友可以参考下
该文档适用于运维,dba,非开发代码,下再留意目录。
包内含:mongodb支持包、管理工具、相关文档。 文档由我个人整理及撰写,包括mongodb简述、java操作、shell操作、配置文件说明等。
在 MongoDB 中,可以通过 MongoDB Shell(mongo)或者使用各种可用的驱动程序(如Java驱动程序)执行数据库操作。以下是 MongoDB 中的一些基本数据库操作: ### 连接到数据库 ```bash # 连接到本地 MongoDB 实例 ...
免责声明 请注意:此仓库中的所有工具/脚本均按“原样”发布,不作任何形式的保证,包括但不限于其安装,使用或性能。 我们不承担任何和所有明示或暗示的保证,包括但... 用于浏览器的交互式mongoDB shell的重新创建。
mongo shell即相当于SQL语句在关系型数据库中的作用,MongoDB使用JavaScript作为shell操作命令,这里我们就来整理MongoDB的mongo shell常用操作方法及操作脚本笔记
以MySQL的思维理解MongoDB的shell,感觉差异还是很大的 理解有多少种插入操作,以及差异点 重点理解异常操作,如何看官方文档 mongoDB shell insertMany()、insert()、insertOne()三个方法大体上是差不多的,...
2.6.2 使用Shell对MongoDB的基本操作 2.6.3 使用Shell的诀窍 2.6.4 特殊的集合名 2.7 本章小结 第3章 文档的增加、修改及删除 3.1 插入并保存文档 3.1.1 插入的原理和作用 3.1.2 批量插入 3.2 ...
82.4 启动MongoDB 92.5 MongoDB Shell 102.5.1 运行shell 102.5.2 MongoDB 客户端 112.5.3 shell 中的基本操作 112.5.4 使用shell 的窍门 132.6 数据类型 152.6.1 基本数据类型 152.6.2 数字 172....
52.2 集合 62.2.1 无模式 62.2.2 命名 72.3 数据库 82.4 启动MongoDB 92.5 MongoDB shell 102.5.1 运行shell 102.5.2 MongoDB客户端 112.5.3 shell中的基本操作 112.5.4 使用shell的窍门 132.6...
本文整理了常用的MongoDB操作,涉及mongo-shell、pymongo,既有运维层面也有应用层面,内容有浅有深
MongoDB自带了一个JavaScript Shell,所以在其中使用js语法是可以的。 Insert操作: 单条插入 var single={"name":"mei","age":22} db.user.insert(single); 循环插入 var single={"name":"tinyphp","num":28,} ...
第 2 章通过JavaScript shell操作MongoDBMongoDB through the JavaScript shell本章内容MongoDB
MONGODB SHELL MONGODB的数据类型 MONGODB的基本数据类型 MONGODB的数组 MONGODB的文档嵌套 MONGODB的OBJECTID 结束语 第二天:初识增删改 添加文档 删除文档 更新文档-文档更换1 更新文档-文档替换2 更新文档-...
MongoDB是面向集合的文档式数据库,不...MongoDB shell version: 3.2.6 connecting to: test 使用命令show dbs,可以查看所有的数据库,可以看见只有一个local数据,其实test数据库并不存在,只有再建集合并往集合插
Nosql非关系型数据库
MongoDB shell version: 2.4.6 connecting to: tank > use test //创建 or 切换数据库 switched to db test > db.dropDatabase() //删除数据库 { dropped : test, ok : 1 } 二,php创建,切换,删除数据库 1,切换...
大数据领域Mongodb分布式文件数据库安装教程(图文的形式),shell终端实现数据的增删改查基本操作(附截图)以及JavaAPI调用Mongodb实现增删改查(附截图)
2.6.2 使用Shell对MongoDB的基本操作 2.6.3 使用Shell的诀窍 2.6.4 特殊的集合名 2.7 本章小结 第3章 文档的增加、修改及删除 3.1 插入并保存文档 3.1.1 插入的原理和作用 3.1.2 批量插入 3.2 ...