MongoDB基本语法——数据库操作
db:查看当前指向的数据库
show dbs:查看当前所有的数据库
use <数据库名称>:指向一个数据库
Use数据库不会创建数据库,如果操作数据会自动创建数据库
测试代码:
db.dropDatabase():删除当前指向的数据库
注意:慎用,要先db看一下在哪个数据库下,有些数据库不能这样删除,其他数据库可能会受影响的。
测试代码:
MongoDB基本语法——集合操作
show collections:查看当前数据库所有集合
db.createCollection([, options]):创建一个集合
db.<集合名称>.drop():删除指定的集合
测试代码1:查看当前数据库所有集合
测试代码2:创建一个集合
测试代码3:db.<集合名称>.drop():删除指定的集合
MongoDB基本语法——数据类型
ObjectID:文档id
String:字符串
Boolean:布尔值
Integer:整数
Double:浮点数
Arrays:数组或者列表
Object:嵌入的文档
Null:空值
Timestamp:时间戳
Date:日期时间
MongoDB基础语法——增加数据
语法:db.<集合名称>.insert(文档)
集合可以是原来存在的,可以是不存在的
文档:就是JSON格式【python中的dict】表示的数据(dict)
简单查询:db.<集合名称>.find() 查询指定集合的数据
测试代码1:insert()
测试代码2:insertOne()只能插入一条数据
测试代码3:insertMany()可以插入一条或者多条数据。
MongoDB基础语法——更新数据
语法:db.<集合名称>.update( 条件(替换的),替换过后的内容 ,[multi:])
指定属性更新:$opration
multi:默认false更新符合条件第一条,设置true全集合更新
测试代码1:不指定内容相当于替换里面的全部内容。
测试代码2:$set使用 指定属性更新
情况1: $set如果这个指定的属性不存在,那么就是在原来的基础上添加上这个属性。
不存在~添加
情况2: $set如果这个指定的属性存在,那么就是指修改这个属性。 存在~修改
测试代码3:当条件中有两个或多个满足条件的时候,update默认替换一个。不会
替换全部满足条件的。因为multi默认值为false。
测试代码4:multi默认值为false,为ture的时候表示全部符合条件的全部更新
注意:必须要配合 指定属性更新:$set使用。
MongoDB基础语法——保存数据
语法:db.<集合名称>.save(文档)
特征:[_id]如果数据不存在~添加,如果数据存在~修改
注意:save是通过id来修改的,其他的不行。
MongoDB基础语法——删除数据
语法:db.<集合名称>.remove(<query>, {justOne:<boolean>})
参数query:删除文档的条件
参数justOne:设置为true或者1,删除一条;默认false删除多条
测试代码1:参数justOne:默认false删除多条
测试代码2:参数justOne:设置为true或者1,删除一条
MongoDB基础语法——查询数据
1、基本查询:
find([{文档条件}]):全集合查询
findOne([{文档条件}]):查询第一个
pretty():将查询结果格式化展示
2、比较运算符(关系运算符)
默认判断,无运算符
$lt:little~小于 < less than
$lte:little or equals~小于等于 <=
$gt:granter~大于 >
$gte:granter or equals~大于等于 >=
代码1:
3、逻辑运算符
逻辑与:并且运算,默认操作,无运算符
逻辑或:或者运算,$or
逻辑否:not
4、范围运算符
$in:判断指定条件是否包含在某个范围内
$nin:判断指定条件是否不包含在某个范围内
5、正则条件
/reg/:普通正则表达式
$regex:指定正则表达式
6、自定义条件
$where:通过函数自定义条件[JS函数]
指定函数中,返回boolean类型的值
this表示每个要查询的文档
eg:db.student.find({$where:function() {return this.gender == “男” }})