




已阅读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年德语TestDaF考试模拟试卷:德语长尾词在电影台词中的应用试题
- 技术文档编写规范模板提高技术交流与沟通效率
- 建筑工程质量控制案例分析汇编
- 农村医疗急救实战演练!2025年乡村医生考试题库揭秘
- 2025年乡村医生考试题库:农村常用药物使用与药品合理使用评价试题
- 工业机器人传感器配置与故障诊断
- 教师减负政策学习心得和实践反思
- 2025年医保知识考试题库及答案:医保定点医疗机构管理制度与流程试题
- 西藏介绍课件
- 新高考地理备考策略
- 会务理论考试题及答案
- 2025年病历书写基本规范考试试题(附答案)
- 高级心理咨询师考试试卷及答案2025年
- (2025)社区网格员笔试考试题库及答案
- 简约风共青团团支书竞选自我介绍
- 降铬剂使用管理制度
- 第三单元 植物的生活单元练习-2024-2025学年人教版生物七年级下册
- 湖北省十堰市2024-2025学年高二上学期1月期末调研考试物理试题(含答案)
- 社会工作行政(第三版)课件全套 时立荣 第1-11章 社会服务机构- 社会工作行政的挑战、变革与数字化发展
评论
0/150
提交评论