数据库--MongoDB

一、常用的数据库

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有条件参数是符合该条件的删除,无条件参数就是默认删除整张表 (这个操作是需要考虑是否要备份的!)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容