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













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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Open3D(C++) 指定点数的体素滤波

目录 一、算法原理1、算法过程2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、算法过程 对于数据量较大的点云,在后期进行配准时会影响计算效率。而体素格网…

03. Nginx入门-Nginx虚拟主机

Nginx虚拟主机简介 yum安装与源码安装一样,只是Nginx配置文件路径不一致,这里用的yum安装的配置文件路径。 利用虚拟主机的功能,可以在一台Nginx服务器上部署一个或多个虚拟主机。 虚拟主机主配置文件 注意:配置完成Nginx主配置…

【如何在Docker中,修改已经挂载的卷(Volume)】

曾梦想执剑走天涯,我是程序猿【AK】 提示:添加投票!!! 目录 简述概要知识图谱 简述概要 如何在Docker中,修改已经挂载的卷(Volume) 知识图谱 在Docker中,修改已经挂载…

基于SSM SpringBoot vue个人博客网站

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

API 测试- Postman Vs Rest Assured

【软件测试面试突击班】2024吃透软件测试面试最全八股文攻略教程,一周学完让你面试通过率提高90%!(自动化测试) 介绍: 创新和现代化的目标已经从简单的市场差异化转变为更有道德地追求整个社会的进步。提出了新的要求…

03按键控制LED

上回讲到点亮一个LED     这次我们来实现用按键控制led 不带中断的方式 当然实例来源网络 加上自己整合 先熟悉流程 0.添加一个自己写的驱动库文件 为什么添加 笔者想的是一个项目工程希望能适应很多个应用场景需要什么直接在里面调用分装好的函数就行 1.如何添加文件以及…

AI改变游戏规则:内容创作的新时代!

AI技术,尤其是人工智能(AI)在内容创作领域的应用,正开启了一个全新的时代。这一时代的核心在于利用AI的能力,不仅提高内容创作的效率,还能引入前所未有的创新元素,从而彻底改变游戏规则。 AI在…

【北京迅为】《iTOP-3588开发板网络环境配置手册》第1章 网络基础知识学习

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

Stable Diffusion 模型分享:CG texture light and shadow(CG纹理光影)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 一个拥有cg质感和光影的融合模型,偏2.5D 条目内容类型大模型基础模型SD 1.5来…

python--产品篇--游戏-坦克

文章目录 准备代码main.pycfg.py 效果 准备 下载 代码 main.py import os import cfg import pygame from modules import *主函数 def main(cfg):# 游戏初始化pygame.init()pygame.mixer.init()screen pygame.display.set_mode((cfg.WIDTH, cfg.HEIGHT))pygame.display.…

2024-03-05

作业要求: 使用write 和 read 实现 文件夹拷贝功能,不考虑递归拷贝使用循环fork的形式。创建一条进程链,链条上总共有100个进程 要求:程序不崩溃 作业1:使用write 和 read 实现 文件夹拷贝功能,不考虑递归拷…

从零学习Linux操作系统 第三十一部分 ansible常用模块介绍

一、ansible运行模块的两种方式 Ad-Hoc方式 ##利用ansible命令直接完成管理,主要用于临时命令使用场景 playbook方式 ##ansible脚本,主要用于大型项目场景,需要前期的规划,相当于shell当中的脚本 二、如何查看模块帮助 ansible…

Java方法重载

重载 概念 重载就是在一个类中,有相同的函数名,但形参不同的函数 规则 方法名称必须相同参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)方法的返回值类型可以相同也可以不同仅仅返回类型不同不足以成为方法的重载 实…

【论文精读】Mask R-CNN

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

微信小程序云开发教程——墨刀原型工具入门(Axure导入)

引言 作为一个小白,小北要怎么在短时间内快速学会微信小程序原型设计? “时间紧,任务重”,这意味着学习时必须把握微信小程序原型设计中的重点、难点,而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

计算机网络实验一 网线制作

实验目的与要求: 实验目的 了解以太网网线(双绞线)和制作方法 实验内容 了解网线和水晶头 学习网线制作方法 实验环境和要求 网线 水晶头 压线钳 剥线钳 网线测试器 方法、步骤: 步骤一 准备工具和材料 步骤二 剥掉双绞线的外…

【排序】详解归并排序

一、思想 归并排序的核心思想是分治法,即将大问题分解成小问题来解决,然后再将解决后的小问题的结果合并以解决原来的大问题。具体包括以下几个步骤: 分解(Divide):将原始数组不断地二分成更小的子数组&a…

使用Redis入门Golang

Golang,也被称为Go,近年来由于其简单性、效率和并发支持而获得了显著的关注。另一方面,Redis是一个强大的内存数据存储,擅长于缓存、会话存储和实时分析。将这两种技术结合起来,可以为各种用例提供可扩展和高效的解决方…

通过Apple Configurator 2导出iOS ipa包

通过Apple Configurator 2导出iOS ipa包 安装Apple Configurator 2 从Mac AppStore安装Apple Configurator 2 下载ipa 准备工作: 1、 电脑已经安装了Apple Configurator 2 2、 手机已经安装了目标软件 3、 Apple 账号已经下载过目标软件 打开后连接设备&#xf…

人脸高清算法GFPGAN之TensorRT推理

1. 综述 最近由于做数字人项目,采用的是wav2lip GFPGAN进行人脸面部高清,但GFPGAN模型本身比较大,所以想着使用TensorRT来代替原始的pth推理看看能否提升运行速度,于是便开始了这趟windows10之下进行GFPGAN的trt推理的折腾之旅。…