`
m635674608
  • 浏览: 5029259 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。

  使用 "./mongo --help" 可查看相关连接参数,下面将从常见的操作,如插入,查询,修改,删除等几个方面阐述MongoDB shell的用法

  1、插入记录

> use my_mongodb
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 dbsshow collections来查看数据库及表,具体如下:

> show dbs
admin   (empty)
local   (empty)
my_mongodb      0.0625GB    ---隐式创建的数据库
> show collections
system.indexes
user                         ---隐式创建的表
>

  2、查询记录

  查询表中的全部记录:

>  db.user.find();
{ "_id" : ObjectId("4f81a49b779282ca68fd8a59"), "uid" : 1, "username" : "Tom", "age" : 25 }
{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 25 }
>

   查询用户名是 ”Jerry” 记录:

> db.user.find({username:"Jerry"});
{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 25 }
>

   3、修改记录

  将用户ID是2的记录的年龄修改为100:

> db.user.update({uid:2},{$set:{age:100}}) ;
>

   查询一下是否改过来了:

>  db.user.find({uid:2});
{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 100 }
>

   4、删除记录

  将用户ID是1的记录从表user中删除:

> db.user.remove({uid:1});
> 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

 

 

分享到:
评论

相关推荐

    PyPI 官网下载 | mongodbshell-0.1a4.tar.gz

    2. **分布式**:这表明`mongodbshell`可能支持处理分布式系统中的数据或任务,比如在多个服务器或节点间进行数据操作,或者提供分布式锁等特性。 3. **云原生(Cloud Native)**:这意味着`mongodbshell`设计时考虑...

    mongodb shell指令

    mongodb shell指令,在后台shell进行数据操作!

    MongoDB Shell命令.pdf

    MongoDB的一个独特之处在于它不使用传统的SQL语句,而是通过MongoDB Shell来执行各种操作,因此掌握其Shell命令对于使用MongoDB进行开发和维护至关重要。 在MongoDB中,基本的数据单位是文档,文档中的数据是以键值...

    mongodb搭建,shell操作,索引,副本集

    ### MongoDB搭建、Shell操作、索引、副本集 #### MongoDB介绍 MongoDB是一款基于分布式文件存储的开源数据库系统。在各类NoSQL数据库中,MongoDB因其高性能、易扩展及丰富的特性而受到广泛关注。 ##### 官方文档 -...

    MongoDB客户端访问(Shell方式 ) .pdf

    MongoDB 提供了一个内置的JavaScript Shell,这使得用户可以通过命令行进行交互式操作和管理数据库。以下是对MongoDB Shell的一些关键知识点的详细说明: 1. **启动MongoDB Shell**: MongoDB Shell 是一个基于...

    使用Robo 3T中Shell命令操作MongoDB数据库.pptx

    在MongoDB中,我们经常使用客户端工具来与数据库进行交互,其中Robo 3T(之前称为Robomongo)是一款非常实用的图形用户界面工具,它提供了Shell命令操作MongoDB数据库的功能。 **1. 打开Shell窗口** 在Robo 3T中,...

    mongodb 数据库基本操作.doc

    ### MongoDB数据库基本操作详解 #### 一、连接MongoDB数据库 MongoDB是一个广泛使用的开源文档数据库,支持多种编程语言。为了能够与MongoDB交互并执行各种数据库操作,首先需要通过官方提供的驱动程序或其他第三...

    MongoDB基础操作指南.rar

    MongoDB shell是一个交互式的JavaScript环境,用于连接到MongoDB服务器并执行各种数据库操作。通过运行`mongo`命令,你可以进入shell,执行查询、插入、更新和删除等操作。 三、数据库操作 1. 创建数据库:在...

    MongoDB若基本操作

    - Secure Shell (SSH) 通常用于远程登录和管理MongoDB服务器。 - 可以设置SSH隧道以安全地访问MongoDB实例。 11. **TE(TokuMX引擎)** - TE是MongoDB的一个已停止支持的存储引擎,提供事务支持和空间效率的提升...

    Mongodb安装部署操作资料

    MongoDB的Shell是一个基于JavaScript的命令行工具,用于直接与MongoDB服务器交互。它可以用来测试数据库操作、执行管理任务和诊断问题。例如,使用`use`命令切换数据库,`db.collection.find()`来查询数据,`db....

    mongo-hacker:针对黑客的MongoDB Shell增强功能

    2. **自定义提示符**:默认的MongoDB Shell提示符被替换为包含当前数据库名和连接状态的信息,这可以帮助用户快速定位当前操作环境。 3. **语法高亮**:输入的JavaScript代码会得到语法高亮,增强了代码的可读性,...

    MongoDB Client 客户端工具

    MongoDB Shell是MongoDB自带的一个JavaScript命令行接口,用于执行数据库操作,如创建数据库、集合,插入、查询、更新和删除数据,以及执行各种管理任务。它基于JavaScript语言,允许用户直接在命令行中编写和运行...

    mongodb shell

    MongoDB Shell是MongoDB数据库系统的一个重要组成部分,它是一个交互式的JavaScript命令行界面,用于连接、管理和操作MongoDB数据库。这个教程将深入介绍MongoDB Shell的使用,包括基本的数据库操作、集合操作、文档...

    mongodb 数据库基本操作.docx

    完成操作后,可以通过输入 `exit` 命令退出 MongoDB Shell。 ```bash exit ``` 以上介绍的都是 MongoDB 中最基本的操作。当然,MongoDB 的功能远不止于此,还支持许多高级特性,如事务管理、分片等。对于进一步的...

    mongoDB3.0以上连接工具.zip

    在3.0版本后,MongoDB Shell增加了对新的数据库操作的支持,比如批量插入、聚合操作、新版本的索引类型等。此外,它还提供了更丰富的错误报告和调试功能,使得开发者在处理问题时能更快定位。 关于描述中提到的...

    MongoDB入门教程 + 架构简析 + java使用MongoDB的简单程序

    "MongoDB架构简析"部分,我们需要理解MongoDB的三个主要组件:Mongod、MongoDB Shell和MongoDB复制集。Mongod是数据库服务器,负责处理数据的存储和检索;MongoDB Shell是一个交互式JavaScript环境,用于管理数据库...

    《MongoDB实战》第2版-第2章-JavaScript命令操作Mongodb1

    在《MongoDB实战》第二版的第二章中,作者主要讲解了如何通过JavaScript Shell操作MongoDB,包括基本的CRUD(创建、读取、更新、删除)操作、构建索引和使用`explain()`方法来优化查询,以及一些基础的数据库管理...

    mongodb安装包

    6. **基本操作**:在MongoDB Shell中,你可以创建数据库(use )、插入文档(db.<collection>.insert({key1: value1, key2: value2...}))、查询数据(db.<collection>.find())以及更新和删除文档等操作。...

Global site tag (gtag.js) - Google Analytics