MongoDB基本语法——数据库操作
db:查看当前指向的数据库
show dbs:查看当前所有的数据库
use <数据库名称>:指向一个数据库
Use数据库不会创建数据库,如果操作数据会自动创建数据库
测试代码:
![](https://img.haomeiwen.com/i8777041/4b3f550ec86964af.png)
db.dropDatabase():删除当前指向的数据库
注意:慎用,要先db看一下在哪个数据库下,有些数据库不能这样删除,其他数据库可能会受影响的。
测试代码:
![](https://img.haomeiwen.com/i8777041/161dc97bf3cbad38.png)
MongoDB基本语法——集合操作
show collections:查看当前数据库所有集合
db.createCollection([, options]):创建一个集合
db.<集合名称>.drop():删除指定的集合
测试代码1:查看当前数据库所有集合
![](https://img.haomeiwen.com/i8777041/2bd1399d3e5dc48b.png)
测试代码2:创建一个集合
![](https://img.haomeiwen.com/i8777041/1e46803ec61d7490.png)
测试代码3:db.<集合名称>.drop():删除指定的集合
![](https://img.haomeiwen.com/i8777041/787b830868636aa0.png)
MongoDB基本语法——数据类型
ObjectID:文档id
String:字符串
Boolean:布尔值
Integer:整数
Double:浮点数
Arrays:数组或者列表
Object:嵌入的文档
Null:空值
Timestamp:时间戳
Date:日期时间
MongoDB基础语法——增加数据
语法:db.<集合名称>.insert(文档)
集合可以是原来存在的,可以是不存在的
文档:就是JSON格式【python中的dict】表示的数据(dict)
简单查询:db.<集合名称>.find() 查询指定集合的数据
测试代码1:insert()
![](https://img.haomeiwen.com/i8777041/b3c7f39a7e26e573.png)
测试代码2:insertOne()只能插入一条数据
![](https://img.haomeiwen.com/i8777041/74eb1dae967dbd98.png)
测试代码3:insertMany()可以插入一条或者多条数据。
![](https://img.haomeiwen.com/i8777041/7e62ec0b2cf70f46.png)
MongoDB基础语法——更新数据
语法:db.<集合名称>.update( 条件(替换的),替换过后的内容 ,[multi:])
指定属性更新:$opration
multi:默认false更新符合条件第一条,设置true全集合更新
测试代码1:不指定内容相当于替换里面的全部内容。
![](https://img.haomeiwen.com/i8777041/7e162ed2f9f777e7.png)
测试代码2:$set使用 指定属性更新
情况1: $set如果这个指定的属性不存在,那么就是在原来的基础上添加上这个属性。
不存在~添加
![](https://img.haomeiwen.com/i8777041/4f602767636ad206.png)
情况2: $set如果这个指定的属性存在,那么就是指修改这个属性。 存在~修改
![](https://img.haomeiwen.com/i8777041/a9b4aa6bc37fee9d.png)
测试代码3:当条件中有两个或多个满足条件的时候,update默认替换一个。不会
替换全部满足条件的。因为multi默认值为false。
![](https://img.haomeiwen.com/i8777041/4b615a05394a5998.png)
测试代码4:multi默认值为false,为ture的时候表示全部符合条件的全部更新
注意:必须要配合 指定属性更新:$set使用。
![](https://img.haomeiwen.com/i8777041/8e2ac4f505a54101.png)
MongoDB基础语法——保存数据
语法:db.<集合名称>.save(文档)
特征:[_id]如果数据不存在~添加,如果数据存在~修改
注意:save是通过id来修改的,其他的不行。
![](https://img.haomeiwen.com/i8777041/fd7bafd6739c06f3.png)
MongoDB基础语法——删除数据
语法:db.<集合名称>.remove(<query>, {justOne:<boolean>})
参数query:删除文档的条件
参数justOne:设置为true或者1,删除一条;默认false删除多条
测试代码1:参数justOne:默认false删除多条
![](https://img.haomeiwen.com/i8777041/bdf098b42c07236f.png)
测试代码2:参数justOne:设置为true或者1,删除一条
![](https://img.haomeiwen.com/i8777041/bf3241c5f26d6d4f.png)
![](https://img.haomeiwen.com/i8777041/f6fe124d7a42ce9e.png)
MongoDB基础语法——查询数据
1、基本查询:
find([{文档条件}]):全集合查询
findOne([{文档条件}]):查询第一个
pretty():将查询结果格式化展示
![](https://img.haomeiwen.com/i8777041/30d67b3cd73ec254.png)
2、比较运算符(关系运算符)
默认判断,无运算符
$lt:little~小于 < less than
$lte:little or equals~小于等于 <=
$gt:granter~大于 >
$gte:granter or equals~大于等于 >=
代码1:
![](https://img.haomeiwen.com/i8777041/3e664dc46bce970d.png)
3、逻辑运算符
逻辑与:并且运算,默认操作,无运算符
逻辑或:或者运算,$or
逻辑否:not
![](https://img.haomeiwen.com/i8777041/bafcc819b66910ca.png)
4、范围运算符
$in:判断指定条件是否包含在某个范围内
$nin:判断指定条件是否不包含在某个范围内
![](https://img.haomeiwen.com/i8777041/f93926bcf4470731.png)
5、正则条件
/reg/:普通正则表达式
$regex:指定正则表达式
![](https://img.haomeiwen.com/i8777041/e0679a425d067649.png)
![](https://img.haomeiwen.com/i8777041/6e4145f52ed0b938.png)
6、自定义条件
$where:通过函数自定义条件[JS函数]
指定函数中,返回boolean类型的值
this表示每个要查询的文档
eg:db.student.find({$where:function() {return this.gender == “男” }})
![](https://img.haomeiwen.com/i8777041/bfe490c56038427b.png)
7、数据查询——限制查询条数
<find>.limit(count)
![](https://img.haomeiwen.com/i8777041/0d38a6e2e5dcd08e.png)
8、数据查询——跳过记录行数
<find>.skip(num)
![](https://img.haomeiwen.com/i8777041/5e54d843133707b7.png)
注意:<find>.skip(num1).limit(num2),跳过记录行数后,再限制查询条数
![](https://img.haomeiwen.com/i8777041/99cb527016cebb6c.png)
9、数据查询——投影:查询指定的域
find({}, {投影字段:1/0})
![](https://img.haomeiwen.com/i8777041/dd5308c1b8c77ff9.png)
10、数据查询——排序
<find>sort({字段:1/-1, ...})
1.表示升序排列 -1表示降序排列,可以指定多个字段
![](https://img.haomeiwen.com/i8777041/f80d29e640eafe76.png)
11、数据查询——统计
<find>count()
<find({条件})>.count()
db.<集合名称>.count({条件})
两种操作方式
1.查询结果,通过count()统计数据
2. 通过count()直接添加条件统计数据
![](https://img.haomeiwen.com/i8777041/bad094e6da0f2b8e.png)
12、数据查询——去重
db.<集合名称>.distinct(“去重域名称”, {条件})
eg:查询数据列表中,所有的年龄分布情况 db.student.distinct(“age”, {})
![](https://img.haomeiwen.com/i8777041/8b353918cbf0dcc8.png)
网友评论