一.数据库
关系型数据库:MySQL 收费 速度快 字段类型
非关系型数据库:MongoDB 不收费 速度慢一点
ps:数据库存储的类型都是字符串
灾难容错:多建立几个数据库,存储数据,当一个地方的数据库损坏,去别处拷贝即可
二.安装MongoDB
1.在MongoDB所在的文件夹建立一个data文件夹
2.在data文件夹里建立一个db文件夹
3.在MongoDB的 bin文件夹里运行mongod.exe文件,运行之后关掉即可
4.在当前的文件夹里运行cmd,进入指令运行。mongod --dbpath 磁盘名:datadb
5.复制MongoDB的bin文件夹的路径,做环境变量的配置,为了可以在全局使用,在环境变量中找到path,将复制的路径粘贴到最后,记得与前面的路径用英文状态下的;分隔。
6.运行win+r,进入命令面板,运行mongo --dbpath 磁盘名:datadb.出现27017即是安装成功啦
三.MongoDB指令(端口号是27017)
1.show dbs 查看服务器中有多少个数据库
2.use <数据库名称> 创建数据库(如果数据库中没有表的话,那么数据库不会显示,如果存在这个表名则是切换,不存在则是创建)
3.db 查看当前使用的是哪个数据库
4.db.createCollection('表名') 创建表
5.db.getCollection('表名') 使用某一张表
6.db.geeCollectionName('表名') 查看当前数据库里有哪些表
7.db.<表名>.save({key:val}) 向表中添加数据
8.db.<表名>.find() 查看所有的数据
9.db.<表名>.update({key:val},{$set:{key:val}}) 修改数据,第一个参数先找到要修改的数据,第二个参数修改成的数据
ps:db.<表名>.update({key:val},{$set:{key:val},$inc:{key:val}}) $set,$inc不能同时修改同一个字段
10.db.<表名>.remove({key:val}) 删除指定的数据
db.<表名>.remove({}) 删除所有的数据
11.查找指定范围的数据
> db.<表名>.find({key:{$gt:val}})
< db.<表名>.find({key:{$lt:val}})
>= db.<表名>.find({key:{$gte:val}})
<= db.<表名>.findd({key:{$lte:val}})
12.模糊查询
db.<表名>.find({key:/需要查询的数据/}) 匹配所有的字段
db.<表名>.find({key:/^需要查询的数据/}) 匹配以这个字符开头的字段
db.<表名>.find({key:/需要查询的数据$/}) 匹配以这个字符结尾的字段
13.查找指定列的数据
(//在查找这个指令中第一个参数是筛选的内容(如果是一个空对象则代表查找全部) 参数2是对筛选内容的过滤)
db.<表名>.find({},{key:1,key:0}) 1:显示 0:隐藏
14.分页
db.<表名>.find().skip(n).limit(m)
n = (page -1 ) *limit(m)
m : 每页显示多少个
page:当前的页码
15.查找一条数据
db.<表名>.findOne({可以:val})
16.排序
db.<表名>.find().sort({key:1}) 升序
db.<表名>.find().sort({key:-1}) 降序
17.db.<表名>.find().count() 查看数据库中有多少条数据
四.代码中操作MongoDB
const MongoClient = require("mongodb").MongoClient;//引入MongoDB模块
let url = "mongodb://127.0.0.1:27017";//定义服务器地址
let db_name = "bk1824";//需要链接的数据库
MongoClient.connect(url,(err,client)=>{//参数1:链接的地址 参数2 回调
if(err){
console.log("链接失败")
}else{
console.log("链接成功")
}
//链接数据库 链接表
const collection = client.db(db_name).collection("student");
// collection.save({//添加数据
// name:"萌神",
// age:22
// })
//collection.remove({name:"zhangsan"})//删除数据
//collection.update({name:"lisi"},{$set:{name:"不知火舞"}})//修改数据
//查
// collection.find().toArray().then((data)=>{
// console.log(data)
// })
})