一、常用的数据库
mysql、mongoDB、oracle、sqlserver
二、MongoDB数据库
下载,数据库的服务和数据库的可视化工具
三、mongoose
下载 npm install mongoose
导入 const mongoose=require('mongoose')
链接数据库 mongoose.connect('mongodb://localhost/myschool')
创建一个表规范 const student_schema=new mongoose.Schema(
{ name:String,
age:Number,
sex:String
})
5.根据表规范创建表 const Student= mongoose.model('student',student_schema)
6.创建文档对象 (表格数据) let stu=new Student({name:'张三',age:21,sex:"男"})
7.把文件传入数据库中 stu.save(function(err,result){
if(!err){console.log(result)}
})
以上6和7两个步骤可以合并:Student.create({添加的对象}).then(r=>{console.log(r)}).catch(err=>{console.log(err)})
四、添加信息
一到三步和以上的相同,从第四步开始:更改表规范的内容
第五步:创建标对象 const list=mongoose.model('list',表规范名)
第六步:list.create({需要添加的对象}).then(r=>{console.log(r)}).catch(err=>{console.log(err)})
五、查询信息
一到五和以上的相同,从第六步开始:
list.find().then(r=>{console.log(r)}):根据条件查询文档,如果条件为空表示全查。
list.find(name:‘XXX’).then(r=>{console.log(r)}):find里面有条件,就返回符合该条件的对象数组
list.findOne().then(r=>{console.log(r)}):根据条件查询一个文件,不加条件,返回第一个对象
list.findOne(name:‘XXX’).then(r=>{console.log(r)}):findOne里面有条件就返回符合该条件的对象
实现模糊查询= 找出年龄大于30岁的学生信息 list.find({age:{$gt:30}}).then(r=>{console.log(r)}) (大于用$gt,小于用$lt,$gte表示大于等于,$lte表示小于等于) list.find({age:{$gt:30,$lt:40}}).then(r=>{console.log(r)}) (30岁到40岁之间)
配合正则表达式查询 list.find({name:{$regex:/杰/}}).then(r=>{console.log(r)})
匹配包含(数组元素是否包含)$in用于匹配数组中是否有指定的元素、$all也是用于匹配数组中有指定的元素,in是或者,all是并且 list.find({hobbies:{$in['学习','唱歌']}).then(r=>{console.log(r)}) (表示爱好中有学习或者唱歌)
查询指定列,即为显示出name sex 和age list.find().select('name sex age ')then(r=>{console.log(r)}) 想要去除id在select括号里面用-下划线id
查询结果排序 list.find().select().sort('age').then(r=>{console.log(r)}) 表示根据年龄排序 升序用sort(‘age’) 减序用sort(‘-age’) 如果有两个排序要求,写法是:sort(‘sex -age’)
分页查询 skip()跳过指定条数的数据 limit()限制查询数量 let pageIndex=3 (表示页码) let pageSize=2(每页数量) skip((pageIndex-1)*pageSize) limit(pageSize)
六、修改文档
一到五和以上的相同,从第六步开始:
更新一个 updateOne有条件参数是符合该条件的修改,无条件参数就是默认修改第一条
更新多个updateMany有条件参数就是符合该条件的修改,无条件参数的就是整张表的都修改,还是需要有大括号的,不能够保持着两个参数的存在
七、删除文档
一到五和以上的相同,从第六步开始:
删除一个deleteOne有条件参数是符合该条件的删除,无条件参数就是默认删除第一条
删除多个deleteMany有条件参数是符合该条件的删除,无条件参数就是默认删除整张表 (这个操作是需要考虑是否要备份的!)