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
相关推荐
2. **分布式**:这表明`mongodbshell`可能支持处理分布式系统中的数据或任务,比如在多个服务器或节点间进行数据操作,或者提供分布式锁等特性。 3. **云原生(Cloud Native)**:这意味着`mongodbshell`设计时考虑...
mongodb shell指令,在后台shell进行数据操作!
MongoDB的一个独特之处在于它不使用传统的SQL语句,而是通过MongoDB Shell来执行各种操作,因此掌握其Shell命令对于使用MongoDB进行开发和维护至关重要。 在MongoDB中,基本的数据单位是文档,文档中的数据是以键值...
### MongoDB搭建、Shell操作、索引、副本集 #### MongoDB介绍 MongoDB是一款基于分布式文件存储的开源数据库系统。在各类NoSQL数据库中,MongoDB因其高性能、易扩展及丰富的特性而受到广泛关注。 ##### 官方文档 -...
MongoDB 提供了一个内置的JavaScript Shell,这使得用户可以通过命令行进行交互式操作和管理数据库。以下是对MongoDB Shell的一些关键知识点的详细说明: 1. **启动MongoDB Shell**: MongoDB Shell 是一个基于...
在MongoDB中,我们经常使用客户端工具来与数据库进行交互,其中Robo 3T(之前称为Robomongo)是一款非常实用的图形用户界面工具,它提供了Shell命令操作MongoDB数据库的功能。 **1. 打开Shell窗口** 在Robo 3T中,...
### MongoDB数据库基本操作详解 #### 一、连接MongoDB数据库 MongoDB是一个广泛使用的开源文档数据库,支持多种编程语言。为了能够与MongoDB交互并执行各种数据库操作,首先需要通过官方提供的驱动程序或其他第三...
MongoDB shell是一个交互式的JavaScript环境,用于连接到MongoDB服务器并执行各种数据库操作。通过运行`mongo`命令,你可以进入shell,执行查询、插入、更新和删除等操作。 三、数据库操作 1. 创建数据库:在...
- Secure Shell (SSH) 通常用于远程登录和管理MongoDB服务器。 - 可以设置SSH隧道以安全地访问MongoDB实例。 11. **TE(TokuMX引擎)** - TE是MongoDB的一个已停止支持的存储引擎,提供事务支持和空间效率的提升...
MongoDB的Shell是一个基于JavaScript的命令行工具,用于直接与MongoDB服务器交互。它可以用来测试数据库操作、执行管理任务和诊断问题。例如,使用`use`命令切换数据库,`db.collection.find()`来查询数据,`db....
2. **自定义提示符**:默认的MongoDB Shell提示符被替换为包含当前数据库名和连接状态的信息,这可以帮助用户快速定位当前操作环境。 3. **语法高亮**:输入的JavaScript代码会得到语法高亮,增强了代码的可读性,...
MongoDB Shell是MongoDB自带的一个JavaScript命令行接口,用于执行数据库操作,如创建数据库、集合,插入、查询、更新和删除数据,以及执行各种管理任务。它基于JavaScript语言,允许用户直接在命令行中编写和运行...
MongoDB Shell是MongoDB数据库系统的一个重要组成部分,它是一个交互式的JavaScript命令行界面,用于连接、管理和操作MongoDB数据库。这个教程将深入介绍MongoDB Shell的使用,包括基本的数据库操作、集合操作、文档...
完成操作后,可以通过输入 `exit` 命令退出 MongoDB Shell。 ```bash exit ``` 以上介绍的都是 MongoDB 中最基本的操作。当然,MongoDB 的功能远不止于此,还支持许多高级特性,如事务管理、分片等。对于进一步的...
在3.0版本后,MongoDB Shell增加了对新的数据库操作的支持,比如批量插入、聚合操作、新版本的索引类型等。此外,它还提供了更丰富的错误报告和调试功能,使得开发者在处理问题时能更快定位。 关于描述中提到的...
"MongoDB架构简析"部分,我们需要理解MongoDB的三个主要组件:Mongod、MongoDB Shell和MongoDB复制集。Mongod是数据库服务器,负责处理数据的存储和检索;MongoDB Shell是一个交互式JavaScript环境,用于管理数据库...
在《MongoDB实战》第二版的第二章中,作者主要讲解了如何通过JavaScript Shell操作MongoDB,包括基本的CRUD(创建、读取、更新、删除)操作、构建索引和使用`explain()`方法来优化查询,以及一些基础的数据库管理...
6. **基本操作**:在MongoDB Shell中,你可以创建数据库(use )、插入文档(db.<collection>.insert({key1: value1, key2: value2...}))、查询数据(db.<collection>.find())以及更新和删除文档等操作。...