[Node]Day4—MongoDB数据库概述及环境搭建、增删改操作

本文介绍了MongoDB数据库的基本概念,包括下载、可视化软件及环境配置。讲解了如何使用mongoose第三方包进行MongoDB的连接、创建集合、文档的增删改操作,并提供了常见问题的解决方案。
摘要由CSDN通过智能技术生成

一、数据库概述

5.1 什么是数据库

数据库即存储数据的仓库,可以将数据进行有序的分门别类的存储。它是独立于语言之外的软件,可以通过API去操作它。
常用的数据库有:MySQL、Oracle、MongoDB…

在这里插入图片描述

5.1.1 MongoDB下载

下载地址: https://www.mongodb.com/try/download/community

在这里插入图片描述
选择自定义模式
在这里插入图片描述
选择安装路径
在这里插入图片描述
默认选项点击next
在这里插入图片描述
默认选项点击next
在这里插入图片描述

在这里插入图片描述

安装完记得配置下环境变量(不然会出现 mongo 不是内部或外部命令,也不是可运行的程序),运行以下命令,看到版本号即为安装成功~

mongo

在这里插入图片描述

在这里插入图片描述

5.1.2 MongoDB可视化软件

MongoDB可视化操作软件,是使用图形界面操作数据库的一种方式

在这里插入图片描述

下载地址:https://www.mongodb.com/try/download/compass

在这里插入图片描述

5.1.3 数据库相关概念

在一个数据库中可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个数据集合中可以包含多条文档,文档中有不同的字段
在这里插入图片描述

5.2 mongoose第三方包

使用Node.js操作MongoDB数据库需要依赖第三方包mongoose

npm install mongoose

5.2.1 启动、关闭 MongoDB

启动MongoDB 即可启动 MongoDB,否则MongoDB将无法连接,在命令工具中运行

net start mongoDB
如果出现使用net命令启动MongoDB服务发生系统错误,返回值为5,

解决的方案:

以管理员的身份运行命令窗口,到C:\Windows\System32找到cmd.exe,右键选择以管理员身份运行即可

在这里插入图片描述

如果出现服务没有响应控制功能 ,解决的方案: 点击这里

关闭MongoDB

net stop mongoDB

5.2.2 连接MongoDB数据库

使用第三方包mongoose进行连接,进入项目文件夹执行

npm install mongoose
const mongoose=require('mongoose')

mongoose.connect('mongodb://localhost/palyground',{
   useNewUrlParser:true})
.then(()=>{
   console.log('数据库连接成功!')})
.catch(err=>{
   console.log('数据库连接失败!',err)})

5.2.3 MongoDB创建集合(表)

1.使用 new mongoose.Schema() 进行创建集合,传入字段属性,返回Schema对象

2.使用 mongoose.model('集合名称',集合规则) 来应用规则

// 设定集合规则
const UserSchema = new mongoose.Schema({
   
    name:String,
    age:Number,
    isPublished:Boolean, 
    hobbies:[String]
})

// 创建集合并应用规则 
const User =  mongoose.model('User',UserSchema);

5.2.4 MongoDB文档(记录)增删改操作

0. 数据导入数据库

mongoimport -d 数据库名称 -c 集合名称 -file 要导入的数据文件
在这里插入图片描述
如果mongoimport 命令无效,记得将 MongoDB安装目录下bin目录放入环境变量中。

1. 新增文档
const user = new User(); user .save()

第一种方式

  • 第一步,创建集合实例
  • 第二步,调用实例对象的save方法将数据保存到数据库中
//创建文档
const user = new User({
   
 	name:'花花',
    age:18,
    isPublished:true, 
    hobbies:['运动','舞蹈']
})
//将文档插入到数据库中
user.save();
User.create()

第二种方式

User.create({
   
	name:'花花',
    age:18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值