MongoDB的CURD命令
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':'11'})
此命令是向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(1).limit(1)
skip:跳过几条记录
limit:查询几条记录
7.查询指定记录
db.user.find({'name':{$in:['狗娃','铁蛋']}})
in:查询name符合in中内容
8.排序查询
db.user.find().sort({'age':1}) db.user.find().sort({'age':-1})
第一条为正序:参数为“1”
第二条为倒序:参数为“-1”
9.关系运算条件查询
查询年龄小于12的
db.user.find({'age':{$lt:12}})
查询年龄大于12的
db.user.find({'age':{$gt:12}})
查询年龄大于等于11的
db.user.find('age',{$gte:11})
查询年龄小于等于18的
db.user.find('age':{$lte:18})
查询年龄不等于11的
db.user.find('age':{$ne:11})
关系运算条件也可以使用另一种方式
db.user.find('this.age>=18',{'name':'1'})
上面代码是查询年龄大于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()