05_Mongooes

Mongooes

Mongoose是通过Node来操作MongoDB的一个模块。是基于Node.js的第三方模块。

一、Node.js安装

1.解压

在这里插入图片描述

2.创建文件夹

解压路径下,创建两个文件夹

  • node_global:全局安装位置

  • node_cache:缓存

    在这里插入图片描述

3.配置

配置环境变量

在path路径中添加环境变量

在这里插入图片描述

测试1

cmd执行命令:

node -v
npm -v

在这里插入图片描述

配置全局安装位置,缓存路径

cmd下输入两个命令:

npm config set prefix "global文件夹的全路径"npm config set cache "cache文件夹的全路径"
例如:npm config set cache "E:\- Nodejs\node-v12.18.1-win-x64\node_cache"

测试2

cmd下输入命令

npm install webpack -g

更新npm为最新版本

npm install npm -g

在这里插入图片描述

二、安装mongoose

npm install mongoose -g

安装到全局目录下node_global

三、Mongoose

Mongoose是通过Node来操作MongoDB的一个模块。是基于Node.js的第三方模块。

Mongoose是一个对象文档模型库,它封装了Node原生的MongoDB操作。

好处

  • 可以为文档创建一个模式结构(Schema)
  • 可以对模型中的队形/文档进行验证
  • 数据可以进行类型转换
  • 操作更简单容易

对象

MongoDB中数据库,集合,文档。

Collection中包含文档

Document文档是BSON

同一个Collection中可以有多个Document,多个Document的结构可以不一样。

在这里插入图片描述

  • Schema:模式对象
    • 定义并且数据库中的文档结构,集合的结构,保证同一个集合中所有的文档结构是一致的
  • Model:模型对象
    • 表示集合,相当于数据库中的Collection
  • Document:文档对象
    • 相当于数据库中的Document,表示一个具体的文档

顺序:

Schema -> Model -> Document

四、使用

Mongoose在安装会自动安装驱动。

1.引入Mongoose模块

let mongoose = require("E:\\- Nodejs\\node-v12.18.1-win-x64\\node_golbal\\node_modules\\mongoose");

2.连接

// 连接数据库
mongoose.connect('mongodb://localhost:27017/bookshop', {useNewUrlParser: true, useUnifiedTopology: true});// 断开连接
mongoose.disconnect();

3.监听数据连接情况

mongoose.connection.once("connected",function(){console.log("数据库连接成功");
});mongoose.connection.once("open",function(){console.log("数据库open");
});mongoose.connection.on("open",function(){console.log("数据库open");
});mongoose.connection.once("close",function(){console.log("数据库关闭");
});mongoose.connection.once("disconnected",function(){console.log("数据库断开连接");
});mongoose.connection.once("error",function(error){console.log("数据库连接错误"+error);
});

4.Schema

模式对象

  • 定义并且数据库中的文档结构,集合的结构,保证同一个集合中所有的文档结构是一致的

5.数据库操作

作业:

使用mongoose连接数据库,并创建集合,添加文档。

封装成一个js

g(“数据库连接错误”+error);
});


## 4.Schema模式对象- 定义并且数据库中的文档结构,集合的结构,保证同一个集合中所有的文档结构是一致的## 5.数据库操作# 作业:使用mongoose连接数据库,并创建集合,添加文档。封装成一个js

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

毫秒生成的时间戳如何转化成东八区具体时间

假设现在有一个时间是1709101071419L 后端代码实现 Java代码(东八区时间) 在Java代码中,我们将时区从UTC调整为东八区(UTC8): import java.time.Instant; import java.time.ZoneId; import java.time.Z…

FreeRTOS操作系统学习——FreeRTOS工程介绍

FreeRTOS工程介绍 核心文件 FreeRTOS的最核心文件只有2个: FreeRTOS/Source/tasks.cFreeRTOS/Source/list.c 文件功能如下图: 头文件相关 内存管理文件 文件在 Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang 下,它也是放…

JavaScript的`call`方法:实现函数间的调用!

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

堆和二叉树的动态实现(C语言实现)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

BUUCTF-Misc-[SUCTF 2019]Game1

题目链接:BUUCTF在线评测 (buuoj.cn) 下载附件一大堆文件,打开index.html时发现一大串base字符 U2FsdGVkX1zHjSBeYPtWQVSwXzcVFZLu6Qm0To/KeuHg8vKAxFrVQ 写代码和工具解都可以 填进去后错误,发现不是真的flag 查看另外一张照片,…

图像AI换脸软件:AI FaceSwap 中文版

AI FaceSwap 是一款利用人工智能技术进行面部交换的软件。该软件通过先进的人工智能算法,能够将一个人的面部表情、神态和特征准确地映射到另一个人身上,实现面部交换的效果。用户只需要提供两张照片,一张是目标人物的照片,另一张…

数据库进阶——如何提升数据库的安全性,以MySQL和Redis加固为例

目录 引出数据库加固加固思路MySQLRedis Redis冲冲冲——缓存三兄弟:缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 数据库进阶——如何提升数据库的安全性,以MySQL和Redis加固为例 数据库加固 加固思路 账号配置 应按照用户分配账号&…

Nginx使用—基础知识

Nginx简介 Nginx优点 高性能、高并发 支持很高的并发,在处理大量并发的情况下,比其他web服务器要高效 轻量且高扩展 功能模块少(源代码仅保留http与核心模块代码,其余不够核心代码会作为插件来安装) 代码模块化(易读&#xff0…

C语言:qsort的使用方法

目录 1. qsort是什么? 2. 为什么要使用qsort 3. qsort的使用 3.1 qsort的返回值和参数 3.2 qsort的compare函数参数 3.3 int类型数组的qsort完整代码 4. qsort完整代码 1. qsort是什么? qsort中的q在英语中是quick,快速的意思了&#…

C++基础2:C++基本数据类型和控制结构

此专栏为移动机器人知识体系下的编程语言中的 C {\rm C} C从入门到深入的专栏,参考书籍:《深入浅出 C {\rm C} C》(马晓锐)和《从 C {\rm C} C到 C {\rm C} C精通面向对象编程》(曾凡锋等)。 2.C基本数据类型和控制结构 2.1 C基本数据类型 程序是由算法…

C# 中 Replace 字符串操作方法

在 C# 中,Replace 是一个字符串操作方法,用于替换字符串中的指定字符或子字符串。它接受两个参数:要查找和替换的字符串。Replace 方法在源字符串中查找所有匹配的字符或子字符串,并用指定的替换字符串进行替换。 下面是 Replace…

【论文精读】Mask R-CNN

摘要 基于Faster RCNN,做出如下改变: 添加了用于预测每个感兴趣区域(RoI)上的分割掩码分支,与用于分类和边界框回归的分支并行。mask分支是一个应用于每个RoI的FCN,以像素到像素的方式预测分割掩码,只增加了很小的计…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:点击回弹效果)

设置组件点击时回弹效果。 说明: 从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 clickEffect clickEffect(value: ClickEffect | null) 设置当前组件点击回弹效果。 系统能力: SystemCapabilit…

表达式和语句

本文参考C Primer Plus进行C语言学习 文章目录 表达式语句 副作用和序列点复合语句(块)类型转换 1.表达式 表达式由运算符和运算对象组成。下面是一些表达式: 4 -6 421 a*(bc/d)/20 q5*2 xq%3 q>3 每个表达式都有一…

软件测试零基础新手入门必看

软件测试:使用技术手段验证软件是否满足使用需求 目的:减少缺陷,保证质量 一、测试主流技能: 1.功能测试 测试主要验证程序的功能是否满足需求 2.自动化测试 使用工具或代码代替手工,对项目进行测试 3.接口测试 …

Golang 开发实战day02 - Print Formatting

Golang 教程02 - Print,Formatting Strings Go语言提供了丰富的格式化字符串功能,用于将数据格式化为特定格式的字符串。本课程将详细介绍Go语言中Print和Formatting Strings的用法,并提供代码示例供大家参考。 Print 类型及使用 1.Print …

QEMU设备直通pass through的地址映射转换

[内核:HVA]->[QEMU:HVA]的mmap地址映射 $ sudo cat /proc/2047239/maps | grep -i vfio address perms offset dev inode pathname 7f4b5444a000-7f4b5445a000 rw-s 9da50000 00:0e 13037 anon_inode:[vfi…

计算机网络 网络原理之Http

目录 1 前言2 什么是http的一次交互?3 理解“协议”二字4 认识URL4.1 简介4.2 URL的编码和解码(urlencode和urldecode) 5 抓包工具 fiddler6 http和https的区别7 http 头8 HTTP 状态码9 常见的 Http 服务器 1 前言 为什么要了解Http原理呢?因为http原理…

基于SSM SpringBoot vue个人博客网站

基于SSM SpringBoot vue个人博客网站 系统功能 首页 图片轮播 博客文章 搜索 登录注册 论坛 留言板 个人中心 我的收藏 后台管理 登录 个人中心 博客分类管理 博客文章管理 论坛管理 系统管理 管理员管理 注册用户管理 开发环境和技术 开发语言:Java 使用框架:…

实战经验分享:如何优化即时通讯应用的性能?

在当今移动互联网时代,即时通讯应用如雨后春笋般涌现,用户对即时通讯应用的性能和体验要求也越来越高。作为即时通讯开发领域的专家,我将分享一些优化即时通讯应用性能的实战经验,帮助开发者提升应用质量和用户满意度。 1. 优化网…