1.启动客户端

在MongDB服务成功启动的情况下,打开cmd,在MongDB的bin文件目录下执行MongDB命令

可以看到MongDB版本号3.0.7与默认连接的数据库test。test数据库是系统默认将要创建的,因为此时没不存在此数据库,或者说它现在还只存在内存中,并没有创建在物理磁盘上。

创建数据库,输入命令“use dmo”

use命令用来切换当前数据库,如果不存在该数据库,就会先创建一个

2.插入数据

创建collection并插入数据,在传统关系型数据库中创建完了数据库中就创建表,但是在MongoDB中没有“表”的概念,与其对应的一个概念是集合,即collection

在cmd窗口如下以下命令

db.user.insert({'name':'狗娃','age':''})

此命令是向user集合中插入1条数据,如果集合user不存在,就先创建一个再插入。参数以JSON格式传入。

此命令证明插入成功。

我们再插入几条数据即便后面测试使用

3.查询数据

1.显示所有数据库

show dbs

 此命令是显示所有数据库

 2.查询当前数据库中所有集合

show collections

 此命令显示当前数据库下的所有集合

3.查询某个集合中所有文档

db.user.find()

 此命令显示user集合下的所有文档

我们可以看到系统给每条记录创建了一个唯一主键ID,这个主键ID不是GuId类型,而是特有算法生成的唯一标识。

我们也可以在find()方法内添加条件

4.查询指定字段的数据

db.user.distinct('name')

5.查询数据的条目数

db.user.find({'age':11}).cout()

 

6.分页查询

db.user.find().skip().limit()

skip:跳过几条记录

limit:查询几条记录

7.查询指定记录

db.user.find({'name':{$in:['狗娃','铁蛋']}})

   in:查询name符合in中内容

  8.排序查询

db.user.find().sort({'age':})
db.user.find().sort({'age':-})

第一条为正序:参数为“1”

第二条为倒序:参数为“-1”

9.关系运算条件查询

查询年龄小于12的

db.user.find({'age':{$lt:}})

查询年龄大于12的

db.user.find({'age':{$gt:12}})

查询年龄大于等于11的

db.user.find('age',{$gte:})

查询年龄小于等于18的

db.user.find('age':{$lte:})

查询年龄不等于11的

db.user.find('age':{$ne:})

关系运算条件也可以使用另一种方式

db.user.find('this.age>=18',{'name':''})

上面代码是查询年龄大于18数据的姓名

同理

db.user.find('this.age<18')
db.user.find('this.age<=11')
db.user.find('this.age>11')

 10.查询一条信息

db.user.findOne({'age':11})

上面代码是查询符合年龄为11的一条信息

4.更新数据

  1.$set

更新数据,假设将姓名为“狗娃”的age属性改为”18“,可在cmd窗口输入以下命令

db.user.update({'name':'狗娃'},{'$set':{'age':18}},upsert=true,multi=false)

在这里用到了update方法,各参数所代表的含义如下:

参数1:插入的条件

参数2:更新的字段

参数3:是否允许如果不存在则插入

参数4:是否允许修改多条记录

然后查询下修改后的数据

 2.$inc

更新数据,将姓名为狗剩的age属性加”3“,可在CMD窗口输入以下命令

db.user.update({'name':'狗剩'},{$inc:{'age':3}})

然后查看下修改后的数据

5.删除数据

我们现在将name为“狗剩”的数据删除,可在CMD窗口输入以下命令

db.user.remove({'name':'狗剩'})

然后我们再查看下user集合中数据

删除集合中所有记录

db.user.remove({})

 删除集合,删除成功返回true,失败返回false

db.user.drop()

 删除当前数据库

db.dropDatatabse()

  

MongoDB的CURD命令的更多相关文章

  1. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  2. mongodb与mysql命令对比

    mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(col ...

  3. [整理]MongoDB 经常使用命令总结

    MongoDB 经常使用命令总结 简单的的增删改查数据 在查询结果中指定显示或者不显示某个字段 比如,我们希望在 lessons 集合中查找全部数据,可是不希望在返回结果中包括 slides 字段:由 ...

  4. 解决mongodb设备mongod命令不是内部或外部的命令

    1:安装 去mongodb的官网http://www.mongodb.org/downloads下载32bit的包 解压后会出现下面文件 在安装的盘C:下建立mongodb目录,拷贝bin目录到该目录 ...

  5. MongoDB学习笔记-命令

    连接数据库: mongodb://账号:密码@IP/库名 更多方式参考:http://www.runoob.com/mongodb/mongodb-connections.html 命令整理: 名称 ...

  6. mongodb 常用的命令

    mongodb 常用的命令 对数据库的操作,以及登录 1 进入数据库 use admin 2 增加或修改密码 db.addUser('wsc', '123') 3查看用户列表 db.system.us ...

  7. Mongodb的mongostat命令

    Mongodb的mongostat命令可实时(1秒钟刷新一次)显示Mongodb数据库的运行情况,可视为性能监视器. 1.启动命令:authenticationDatabase表示用户认证证书所在的数 ...

  8. [C#] C# 与 MongoDB 的 CURD

    C# 与 MongoDB 的 CURD static void Main(string[] args) { //建立连接 var client = new MongoClient(); //建立数据库 ...

  9. mongodb输错命令后不能删除问题

    在用crt连接Linux操作MongoDB时,命令输错了,想删除的时候,却删除不了,原因是crt的配置有问题,解决办法如下 第一步:选项-->会话选项

随机推荐

  1. MySQL Flush Data

    http://dimitrik.free.fr/db_STRESS_MySQL_540_Purge_Lag_and_Ahead_Flushing_Jun2009.html http://dimitri ...

  2. 最简单的optparse模块的用法

    optparse模块是python自带的模块,可用于处理命令行 #!/usr/bin/env python # -*- coding: utf-8 -*- """ __a ...

  3. 调试利器:SSH隧道

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本文作者:ivweb 吴浩麟 原文出处:IVWEB社区 未经同意,禁止转载 在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需 ...

  4. php垃圾回收

    php所有的变量都存在一个zval的结构里面,通过refcount和is_ref来存储变量的引用关系.refcount是变量的引用次数,is_ref是变量是否被引用,当is_ref=0的时候refco ...

  5. Python基础学习-'module' object has no attribute 'urlopen'解决方法

    import numpy as npimport urlliburl = "http://archive.ics.uci.edu/ml/machine-learning-databases/ ...

  6. .NET作品集:linux下的博客程序

    博客程序架构 本博客程序是博主11年的时候参考loachs小泥鳅博客内核开发的.net跨平台博客cms,距今已有6年多了,个人博客网站一直在用,虽然没有wordpress那么强大,但是当时在深究.ne ...

  7. Nginx如何配置虚拟主机?

    注意,该环境是依赖于http://www.php20.com/forum.php?m ... &extra=page%3D1 基础上进行配置.默认不具备这些文件 .下面是增加一个mytest点 ...

  8. 基于DevExpress的BandedGridView动态生成多行(复合)表头

    最近cs项目中有个看板的功能需求,整个系统是基于DevExpress组件开发的,由于对这个组件的布局不是很熟,也借鉴了网上一些其他人的做法,普遍都是通过GridControl的BandedGridVi ...

  9. linux上kafka模拟客户端发送、接受消息

    producer   消息的生成者,即发布消息 consumer   消息的消费者,即订阅消息 broker     Kafka以集群的方式运行,可以由一个或多个服务组成,服务即broker zook ...

  10. 多线程编程学习笔记——async和await(一)

    接上文 多线程编程学习笔记——任务并行库(一) 接上文 多线程编程学习笔记——任务并行库(二) 接上文 多线程编程学习笔记——任务并行库(三) 接上文 多线程编程学习笔记——任务并行库(四) 通过前面 ...