其实一直想整理下我常使用的MongoDB数据库的一些操作命令,终于有时间了~

MongoDB是一种开源的,免费的非关系型数据库(NoSql),不存在表、记录等概念,与通常的关系型数据库有些差异:

  • MongoDB里的集合可类比成关系数据库中的表,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。集合存储在数据库中。
  • MongoDB里的文档可类比成关系型数据库中表中的字段,文档主要存储在集合中,mongodb将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

以下是一些常用命令

一、数据库

1、查看所有数据库:show dbs            

2、切换数据库:use  DATABASE_NAME         # 如果数据库不存在,则创建数据库

3、删除数据库:db.dropDatebase()                

二、集合

1、查看所有的集合:show collections 或者show tables         

2、创建mongotest集合:

  a、   db.creatCollection("mongotest")           # 创建集合

      b、   db.mycollections.insert({"name":"嗯哼~"})             # 在MongoDB中,当你插入一些文档时,MongoDB会自动创建集合

三、文档

1、插入文档:db.mycollections.insert()  或者 db.mymycollections.save()          

如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

例:

2、查找文档:db.mycollections.find()  

db.mycollections.find().pretty()       # 查找全部文档,按格式输出

db.mycollections.findOne()             # findOne是按照_id正序排列,没有查询条件,查找第一个被插入的数据

 例:       

其他相关查询条件语法如下:

  • 小于:语法为 {<key>:{$lt:<value>}},例 :db.mycollections.find({"age":{$lt:19}})
  • 小于或等于:{<key>:{$lte:<value>}},例 :db.mycollections.find({"age":{$lte:19}})
  • 大于:{<key>:{$gt:<value>}},例 :db.mycollections.find({"age":{$gt:19}})
  • 大于等于:{<key>:{$gte:<value>}},例 :db.mycollections.find({"age":{$gte:19}})
  • 不等于:{<key>:{$ne:<value>}} ,例 :db.mycollections.find({"age":{$ne:18}})

3、更新命令:db.mycollections.update()         

例:将上面王红年龄从18岁改为19岁,操作命令为:db.mycollections.update({"name" : "王红"},{$set:{"age":"19"}})

 
 
4、删除文档:db.mycollections.remove()          
例:
1、删除“张三”,操作命令为:db.mycollections.remove({"name":"张三"})  
2、插入多个姓名为“张三”的人,删除找到的第1条“张三”,操作命令为:db.mycollections.remove({"name":"张三"},1)      #  1,justOne参数

3、插入多个姓名为“张三”的人,删除找到的前2条“张三”,操作命令为:

    db.mycollections.remove({"_id" : {$in: [ObjectId("5b86b20c873007ee4d98c1e6"), ObjectId("5b86b20e873007ee4d98c1e7")]}})

四、其他命令

1、查询过滤

  db.mycollections.find({"name":"张三"},{"age":1,_id:0})       #  1表示显示name,0表示不显示_id.

2、limit()

如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。

db.mycollectons.find().limit(2)          # 只显示2个文档

3、skip()

  除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
  db.mycollections.find({},{"name":1,_id:0}).limit(1).skip(1)     # 只显示第二个文档
 
4、sort()
  MongoDB使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列。
  db.mycollections.find().sort({age:1})                    # 文档按照age,升序排列




MongoDB基本命令总结的更多相关文章

  1. mongodb基本命令,mongodb集群原理分析

    mongodb基本命令,mongodb集群原理分析 集合: 1.集合没有固定数据格式. 2. 数据: 时间类型: Date() 当前时间(js时间) new Date() 格林尼治时间(object) ...

  2. Mongodb学习笔记二(Mongodb基本命令)

    第二章 基本命令 一.Mongodb命令 说明:Mongodb命令是区分大小写的,使用的命名规则是驼峰命名法. 对于database和collection无需主动创建,在插入数据时,如果databas ...

  3. MongoDb进阶实践之三 Mongodb基本命令详解

    一.引言              从今天开始,我要正式开始介绍MongoDB的使用方法了.在此之前,我用了两篇文章分别介绍了如何在Linux系统和Windows系统上安装和配置MongoDB系统.如 ...

  4. 【荐】MongoDB基本命令大全

    DB Shell数据操作 shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的. #数据库 操作 1.Help查看命令提示 > h ...

  5. MongoDB基本命令用

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表  show collections:显 ...

  6. [转]MongoDB基本命令用

    本文转自:http://www.cnblogs.com/liyonghui/p/mongodb.html 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输 ...

  7. MongoDB基本命令

    1.  启动和停止MongoDB: 执行mongod命令启动MongoDB服务器.mongod有很多可配置的选项,我们通过mongod --help可以查看所有选项,这里仅介绍一些主要选项:    - ...

  8. MongoDB基本命令的使用

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示 ...

  9. MongoDB基本命令随便敲敲

    1,mongoDB状态,版本,当前连接的数据库名称

  10. MongoDB 基本命令

    ./mongo  进入命令行. 1.show dbs 显示当前数据库服务器上的数据库 2.use pagedb 切换到指定数据库pagedb的上下文,可以在此上下文中管理pagedb数据库以及其中的集 ...

随机推荐

  1. ios高级开发之多线程(三)GCD技术

    GCD是基于C的API,它是libdispatch的的市场名称.而libdispatch作为Apple公司的一个库,为并发代码在多核硬件(跑IOS或者OS X)上执行提供有力支持. 那么我们为什么要用 ...

  2. vue--js里跳转页面

    我们知道在vue里进行页面跳转的话,我们使用<router-link>这个标签 那在构造函数里我们不能直接操纵DOM元素,我们又该如何进行页面跳转呢? 步骤1: 我们先在DOM里设置三个按 ...

  3. 补充资料——自己实现极大似然估计(最大似然估计)MLE

    这篇文章给了我一个启发,我们可以自己用已知分布的密度函数进行组合,然后构建一个新的密度函数啦,然后用极大似然估计MLE进行估计. 代码和结果演示 代码: #取出MASS包这中的数据 data(geys ...

  4. centos用YUM装mysql笔记

    安装的方法,参考:https://blog.csdn.net/jeffleo/article/details/53559712 注意事项: 1.上面教程中,关于设置密码的地方,SQL语句有误,单引号要 ...

  5. 自定义 Cordova插件(基础篇)

    cordova自定义插件 注意:存放自定义cordova插件目录不能有空格可能会报错 cordova的安装 下载node.js,安装完成后你可以在命令行中使用node和npm. 安装cordova使用 ...

  6. Spark2.X管理与开发

      ==========第一篇:Scala编程语言========= 一.Scala语言基础 1.Scala语言简介 Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各 ...

  7. xls到xml

      protected void btn_ok_Click(object sender, EventArgs e)     {         string x = txtpath.Text;     ...

  8. A.CTable 自动创建数据表

    1.添加依赖 <!-- A.CTable 自动创建数据表 --> <dependency> <groupId>com.gitee.sunchenbin.mybati ...

  9. Python汉诺塔问题

    汉诺塔描述 古代有一座汉诺塔,塔内有3个座A.B.C,A座上有n个盘子,盘子大小不等,大的在下,小的在上,如图所示.有一个和尚想把这n个盘子从A座移到C座,但每次只能移动一个盘子,并且自移动过程中,3 ...

  10. jmeter 上传附件 如图片

    1.要勾选 Use multipart/form-data for POST,否则request中将不包含上传的文件 2.MIME类型为application/octet-stream 图如下:对应 ...