1.基本指令
db ———— 查看当前正在使用的数据库
db.stats() ———— 查看当前数据库状态
show dbs ———— 显示所有数据库 如果数据为空,不会显示
use <数据库名> ———— 进入指定数据库
show collections ———— 显示当前数据库的集合
db.<集合名>.drop() ———— 删除指定集合
db.dropDatabase() ———— 删除当前数据库
2.MongoDB 的增删改查
1 | $gte:大于等于 |
2.1 查看
语法:db.<集合名>.find({})
例子:
1 | // 指定条件查询: |
2.1.1 查询数据数量
1 | // 后面加上 .count() |
2.1.2 数据排序
1 | // col 集合中的数据按字段 likes 的降序排列 (1是正序,-1是倒序) |
2.1.3 模糊查询
1 | // sql语法: |
2.1.4 查询表里 存在 指定字段(即值不为 null) 的数据
1 | // 查询有age属性的数据(true是有,false没有) |
2.1.5 查询多个条件 返回符合其中一项 的数据
1 | // 查找name值为zs 或 ls的数据 |
2.1.6 and 和 or 联合使用
1 | // 查询age值为18,name值为张三或者李四的数据(注意是一个对象) |
2.1.7 查询 返回指定数量的数据
指定数量:limit(数量)
跳过行数:skip(跳过数量)
1 | // 找到的数据返回前5条 |
2.1.8 查询一个字段 多个条件 返回 符合其中之一的数据
1 | <!--需求:letao集合里age为 3 或 5 或 8 的数据--> |
2.1.9 查询指定字段 指定类型的数据
1 | // 查询name类型为double类型的数据 |
2.1.10 数组查询
1 | <!--实例,一节课的老师的id可能有多个,这样:--> |
2.1.11 查询数据 返回时 显示指定字段
1 | <!--classes表集合中只显示id和title两个字段--> |
2.2 插入
语法:db.<集合名>.insert({})
例子:
1 | // 插入一条 |
2.3 修改
语法:db.<集合名>.update({})
例子:
1 | // 修改一条 name属性值为jack的数据,将其age改为20 |
2.3.1 删除数据指定字段(不是删数据行)
$exists:为 true 代表有这个字段名存在的项
$unset: 替换成 null,\$unset 替换指定的元素为 null 而不是删除掉指定的元素,此行为保持数组大小和位置一致
1 | <!--参数multi设置为true表示对集合中的所有匹配项执行该命令,若设置为false则只修改找到的第一条文档。--> |
2.4 删除
语法:db.<集合名>.delete({})
例子:
1 | // 删除一条 age 为18的数据: |
3.设置使用索引(重要)
作用:给字段设置索引可以加快查询此字段的速度
语法: 设置值为 1 就代表按照升序进行索引,-1 代表按照降序进行索引。
查看索引状态:db.表名.getIndexed()
设置索引:db.表名.createIndex()
删除索引:db.表名.dropIndex()
1 | // 查看当前letao表所有索引的状态 |