




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MongoDB数据库,Contents,目,录,数据库概述及环境搭建MongoDB增删改查操作,1.数据库概述及环境搭建,1.1为什么要使用数据库,动态网站中的数据都是存储在数据库中的数据库可以用来持久存储客户端通过表单收集的用户信息数据库软件本身可以对数据进行高效的管理,1.数据库概述及环境搭建,1.2什么是数据库,数据库即存储数据的仓库,可以将数据进行有序的分门别类的存储。它是独立于语言之外的软件,可以通过API去操作它。常见的数据库软件有:mysql、mongoDB、oracle。,数据库提供的API,数据库反馈操作结果,1.3MongoDB数据库下载安装,下载地址:,1.数据库概述及环境搭建,1.4MongoDB可视化软件,MongoDB可视化操作软件,是使用图形界面操作数据库的一种方式。,1.数据库概述及环境搭建,1.5数据库相关概念,在一个数据库软件中可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个数据集合中可以包含多条文档(具体的数据)。,1.数据库概述及环境搭建,1.6Mongoose第三方包,使用Node.js操作MongoDB数据库需要依赖Node.js第三方包mongoose使用npminstallmongoose命令下载,1.数据库概述及环境搭建,1.数据库概述及环境搭建,1.7启动MongoDB,在命令行工具中运行netstartmongoDB即可启动MongoDB,否则MongoDB将无法连接。,1.数据库概述及环境搭建,mongoose.connect(mongodb:/localhost/playground).then()=console.log(数据库连接成功).catch(err=console.log(数据库连接失败,err);,1.8数据库连接,使用mongoose提供的connect方法即可连接数据库。,2.MongoDB数据库连接,1.9创建数据库,在MongoDB中不需要显式创建数据库,如果正在使用的数据库不存在,MongoDB会自动创建。,Contents,目,录,数据库概述及环境搭建MongoDB增删改查操作,3.MongoDB增删改查操作,创建集合分为两步,一是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合。,3.1创建集合,/设定集合规则constcourseSchema=newmongoose.Schema(name:String,author:String,isPublished:Boolean);/创建集合并应用规则constCourse=mongoose.model(Course,courseSchema);/courses,3.MongoDB增删改查操作,创建文档实际上就是向集合中插入数据。分为两步:创建集合实例。调用实例对象下的save方法将数据保存到数据库中。,3.2创建文档,/创建集合实例constcourse=newCourse(name:Node.jscourse,author:黑马讲师,tags:node,backend,isPublished:true);/将数据保存到数据库中course.save();,3.MongoDB增删改查操作,3.2创建文档,Course.create(name:JavaScript基础,author:黑马讲师,isPublish:true,(err,doc)=/错误对象console.log(err)/当前插入的文档console.log(doc);,Course.create(name:JavaScript基础,author:黑马讲师,isPublish:true).then(doc=console.log(doc).catch(err=console.log(err),3.MongoDB增删改查操作,3.3mongoDB数据库导入数据,mongoimportd数据库名称c集合名称file要导入的数据文件找到mongodb数据库的安装目录,将安装目录下的bin目录放置在环境变量中。,3.MongoDB增删改查操作,/根据条件查找文档(条件为空则查找所有文档)Course.find().then(result=console.log(result),3.4查询文档,/返回文档集合_id:5c0917ed37ec9b03c07cf95f,name:node.js基础,author:黑马讲师,_id:5c09dea28acfb814980ff827,name:Javascript,author:黑马讲师,3.MongoDB增删改查操作,/根据条件查找文档Course.findOne(name:node.js基础).then(result=console.log(result),3.4查询文档,/返回文档_id:5c0917ed37ec9b03c07cf95f,name:node.js基础,author:黑马讲师,3.MongoDB增删改查操作,/匹配大于小于User.find(age:$gt:20,$lt:50).then(result=console.log(result),3.4查询文档,/匹配包含User.find(hobbies:$in:敲代码).then(result=console.log(result),/选择要查询的字段User.find().select(nameemail).then(result=console.log(result),/将数据按照年龄进行排序User.find().sort(age).then(result=console.log(result),/skip跳过多少条数据limit限制查询数量User.find().skip(2).limit(2).then(result=console.log(result),3.MongoDB增删改查操作,/删除单个Course.findOneAndDelete().then(result=console.log(result),3.5删除文档,/删除多个User.deleteMany().then(result=console.log(result),3.MongoDB增删改查操作,/更新单个User.updateOne(查询条件,要修改的值).then(result=console.log(result),3.6更新文档,/更新多个User.updateMany(查询条件,要更改的值).then(result=console.log(result),3.MongoDB增删改查操作,在创建集合规则时,可以设置当前字段的验证规则,验证失败就则输入插入失败。,3.6mongoose验证,required:true必传字段minlength:3字符串最小长度maxlength:20字符串最大长度min:2数值最小为2max:100数值最大为100enum:html,css,javascript,node.jstrim:true去除字符串两边的空格validate:自定义验证器default:默认值,获取错误信息:error.errors字段名称.message,3.MongoDB增删改查操作,使用id对集合进行关联使用populate方法进行关联集合查询,3.7集合关联,通常不同集合的数据之间是有关系的,例如文章信息和用户信息存储在不同集合中,但文章是某个用户发表的,要查询文章的所有信息包括发表用户,就需要用到集合关联。,3.MongoDB增删改查操作,/用户集合constUser=mongoose.model(User,newmongoose.Schema(name:type:String);/文章集合constPost=mongoose.model(Post,newmongoose.Schema(title:type:String,/使用ID将文章集合和作者集合进行关联author:type:mongoose.Schema.Types.ObjectId,ref:User);/联合查询Post.find().populate(author).then(err,result)=console.log(result);,3.7集合关联实现,3.MongoDB增删改查操作,3.8案例:用户信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年包装托盘项目市场调查研究报告
- 智能恒温电水壶行业跨境出海战略研究报告
- 非营利组织透明度提升心得体会
- 医疗器械供货计划及质量保障措施
- 产品采购协议合同范例
- 亚马逊店铺转卖合同样本
- 2025年内分泌科护士长质量提升计划
- 企业机器供销合同范例
- 婚前个人存款权益保障与婚后财产分割协议
- 网络通信性能提升补充协议
- 防爆机器人知识培训课件
- 玻璃幕墙-拆除方案
- 2025年CSCO胃癌诊疗指南解读
- 住宅分户验收方案
- 2025年度专业技术人员继续教育公需科目考试题(附答案)
- 第6课 我国国家机构(教学设计)2023-2024学年八年级道德与法治下册同步教学(河北专版)
- 办公室消防知识培训课件
- 公司纪检监察工作制度
- 针刺伤防护考试题及答案
- 中药农药知识培训课件
- 职业道德说课
评论
0/150
提交评论