mongodb是一个数据库
数据库用来存储数据的
mongodb 中可以有多个数据库,一般的话,一个项目对应一个数据库
一个数据库可以有多个数据表 ,一个数据表中可以存多个值
数据库目前分为2中
第一种 关系型数据库
数据表之间有关联
数据存储到数据表中,数据表在电脑磁盘中
代表 mysql sqlserver oracle
// 第二种 非关系型数据库
// 数据表之间有没有关联
// 数据存到电脑内存中,所以数据读取he写入更加快速
// 代表 mongodb redis
安装mongodb
// 步骤 :
// 1. 根据你电脑对应的操作系统选中对应的安装文件 .msi
// 2. 安装在其他磁盘 如 d,f,e ..
// 3. 配置环境变量 => 找到你安装的目录 找到环境变量path E:\mysoftware\mongo\bin
// 电脑右键属性=>高级系统设置=>环境变量=>系统变量=>双击path 新增path路径
// 4.打开服务 电脑右键=>管理=>服务于应用程序 =>开启服务
// 5.检测是否安装成功 运行 mongo 命令
// 操作数据库的命令
// 1. 进入数据库 mongo
// 2. 退出数据库 exit/ ctrl+c
// 3. 查看所有数据库 show databases /show dbs
// 4. 创建一个数据库 use 数据库名 如果有该数据库名,则进入该数据库,否则会自动创建该名字对应的数据库
// 使用show dbs 无法查看新创建的空的数据库,等加入数据后,就可以查看了
// 5. 查看当前所在的数据库 db
// 6. 查看该数据库下的所有数据表 show tables
// 7. 向数据表中插入一条数据 db.数据表名.insert({name:"张三",age:20})
// 8. 向数据表中插入多条数据 db.userlist.insert([{name:"李四",age:25},{name:"王五",age:30}])
// 9. 向数据表中只能插入一条数据 db.userlist.insertOne({name:"王力宏",age:45})
// 10.向数据表中插入多条数据 db.userlist.insertMany([{name:"吴亦凡",age:30},{name:"李云迪",age:45}])
// 11. 查询数据表中所有数据 db.userlist.find()
// 12. 删除数据表 db.userlist.drop()
// 13. 删除数据库 前提是进入当前数据库 use 数据库名, db.dropDatabase()
db.userlist.insert([
{ name: "宋江", age: 50 },
{ name: "吴用", age: 30 },
{ name: "李逵", age: 25 },
{ name: "林冲", age: 40 },
{ name: "高俅", age: 60 },
{ name: "卢俊义", age: 55 },
{ name: "李鬼", age: 30 },
{ name: "李四", age: 40 }
])
// 查询数据命令 重点
// 查询数据表中所有数据 db.userlist.find()
// 查询数据 根据条件 db.userlist.find({name:"宋江"})
// 查询数据 db.userlist.find({age:{$lt:40}}) age<40 所有数据
// db.userlist.find({age:{$lte:40}}) age<=40 所有数据 ( equal就是等于的意思,取首字母)
// db.userlist.find({age:{$gte:40}}) age>=40
// db.userlist.find({age:{$gt:40}}) age>40
// db.userlist.find({age:{$ne:40}}) age!=40
// db.userlist.find({age:{$in:[40,30]}}) age=40 或 age =30
// db.userlist.find({name:"李四",age:40})
// db.userlist.find({$or:[{name:"李鬼"},{age:{$gte:50}}]})
// 控制查询出来的数据显示哪些字段
// db.userlist.find({ age: 40 }, { _id: 0 }) // 0 表示不显示,1 表示显示
// 模糊查询 使用正则表达式查询
db.userlist.find({ name: /李/ })
// 统计数据条数
// db.userlist.find().count()
// db.userlist.find({ name: /李/ }).count()
// 排序
db.userlist.find().sort({ age: 1 }) // 1 代表升序 -1代表降序
// 分页
db.userlist.find().limit(4) // limit 表示总共查询前多少条数据
db.userlist.find().skip(4).limit(4) // skip 表示下标从哪里开始
// 更新数据
// db.userlist.updateOne({ name: "林冲" }, { $set: { age: 100 } })
// 删除数据
// db.userlist.deleteOne({ name: "高俅" })