05_Mongooes

news2024/10/5 14:39:30

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.coloradmin.cn/o/1494035.html

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

相关文章

挂耳式运动蓝牙耳机什么牌子好?六大选购技巧大揭秘

随着蓝牙耳机的普及,越来越多的人选择它们来满足日常的娱乐需求。这些耳机以时尚的设计和舒适的佩戴体验而受到青睐。蓝牙耳机主要分为挂耳式和入耳式两大类。尽管入耳式耳机功能全面,但对于热衷运动的用户来说不够稳固,因为在运动时很容易掉…

蓝桥杯-大小写转换

转换方法 toLowerCase() String类的toLowerCase()方法可以将字符串中的所有字符全部转换成小写,而非字母的字符不受影响,语法格式如下: 字符串名.toLowerCase() //将字符串中的字母全部转成小写,非字母不受影响。 package chap…

闫震海:腾讯音乐空间音频技术的发展和应用 | 演讲嘉宾公布

一、3D 音频 3D 音频分论坛将于3月27日同期举办! 3D音频技术不仅能够提供更加真实、沉浸的虚拟世界体验,跨越时空的限制,探索未知的世界。同时,提供更加丰富、立体的情感表达和交流方式,让人类能够更加深入地理解彼此&…

游戏力:竞技游戏设计实战教程

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 游戏力:竞技游戏设计实战教程 引言…

pinia报错does not provide an export named ‘hasInjectionContext

你们好,我是金金金。 场景 我这里是uniappvue3编写的一个小程序项目,在集成pinia过程当中遇到此问题,报错请求的模块 未提供 导出名hasInjectionContext(位于 pinia.mjs:6:10) 以下我项目当中vue和pinia的具体依赖版本…

RAG全解析和LangChain代码实现

大家好,自从人们意识到可以用自有数据为大型语言模型(LLM)增效之后,就开始讨论如何最有效地弥合 LLM 的通用知识与专有数据之间的差距。围绕着微调还是检索增强生成(RAG)哪个更适合这一问题,人们…

【李沐论文精读】Transformer精读

论文:Attention is All You Need 参考:李沐视频【Transformer论文逐段精读】、Transformer论文逐段精读【论文精读】、李沐视频精读系列 一、摘要 主流的序列转换(sequence transduction)模型都是基于复杂的循环或卷积神经网络,这个模型包含一…

基于单片机的蓝牙无线密码锁设计

目 录 摘 要 Ⅰ Abstract Ⅱ 引 言 1 1 系统总体设计 3 1.1 系统设计要求 3 1.2 系统设计思路 3 2 系统硬件设计 5 2.1 设计原理 5 2.2 主控模块 5 2.3 芯片模块 8 2.4 矩阵键盘模块 9 2.5 液晶显示模块 10 2.6 继电器驱动模块 12 2.7 蜂鸣器模块 13 2.8 蓝牙模块 14 3 系统软…

Linux入门攻坚——16、Linux系统启动流程

CentOS5、6的启动流程 Linux:kernel rootfs,Linux系统就是内核加上根文件系统。 内核之上是库: 库:函数集合,function,函数具有调用接口,库函数不能单独执行,必须被其他程序调用…

51-17 视频理解串讲— MViT,Multiscale Vision Transformer 论文精读

继TimeSformer模型之后,咱们再介绍两篇来自Facebook AI的论文,即Multiscale Vision Transformers以及改进版MViTv2: Improved Multiscale Vision Transformers for Classification and Detection。 本文由深圳季连科技有限公司AIgraphX自动驾驶大模型团…

农业风险管理案例参考:农作物受灾严重,如何降低损失?

1月20日,国家防灾减灾委员会办公室应急管理部发布2023年全国十大自然灾害,据公布数据显示,此次十大自然灾害致使农作物受灾面积超1092.7千公顷,直接经济损失达2353.22亿元。 农业是安天下、稳民心的战略产业,也是典型…

混沌工程-经典案例分享

目录 前言 案例 1、强弱依赖不合理 2、预案不生效 3、异常数据不兼容 4、监控体系缺陷 5、系统缺整体架构设计 总结 前言 我们公司从启动混沌工程到现在已经几乎覆盖了线上的所有核心业务,先后进行过2000次演练共挖掘出120个漏洞。这些漏洞有些得了及时修复…

基于Skywalking开发分布式监控(四)一个案例

上一篇我们简单介绍了基于SkyWalking自定义增强的基本架构,即通过把Trace数据导入数据加工模块进行加工,进行持久化,并赋能grafana展示。 现在我们给出一个例子,对于量化交易系统,市场交易订单提交,该订单…

2024国内知名大厂Java岗面经,java容器面试题

前言 刚刚过去的双十一,让“高性能”“高可用”“亿级”这3个词变成了技术热点词汇,也让很多人再次萌发成为「架构师」的想法。先问大家一个问题:你觉得把代码熟练、完成需求加上点勤奋,就能成为架构师么?如果你这么认…

Ubuntu22.04系统 安装cAdvisor提示找不到 CPU 的挂载点错误解决办法。

如果我们在安装cAdvisor时容器启动不起来 查看日志如下图所示 1、查看cgroup文件系统是v2 还是 v1 mount | grep cgroup 如图所示我的是v2 , cAdvisor 目前的最新版本(v0.39.0)仍然只支持 cgroup v1,不支持 cgroup v2。因此&#…

PRewrite: Prompt Rewriting with Reinforcement Learning

PRewrite: Prompt Rewriting with Reinforcement Learning 基本信息 2024-01谷歌团队提交到arXiv 博客贡献人 徐宁 作者 Weize Kong,Spurthi Amba Hombaiah,Mingyang Zhang 摘要 工程化的启发式编写对于LLM(大型语言模型)应…

大数据分析技术工程师CCRC-BDATE

大数据分析技术工程师介绍 大数据始于科技之美,归于创造价值。大数据时代,“谁用好数据,谁就能把握先机、赢得主动”。当下数据驱动的电信、社交媒体、生物医疗、电子政务商务等行业都在产生着海量的数据,随着大规模数据关联、交叉…

vue基本用法

文本插值 {{}} 用来绑定data方法返回的对象属性 v-bind:为标签的属性绑定data方法中返回的属性 事件绑定v-on:xxx 简写为xxx 双向绑定v-model 条件渲染 v-if v-else v-else-if 动态渲染页面元素

兰德:《中国量子技术的产业基础和军事部署报告》

2月1日,美国智库兰德公司发表中国量子技术的产业基础和军事部署报告,该报告强调了美国和中国均视量子科学和技术为确保各自经济和军事领导地位的战略要素。还指出量子科学是一项军民两用的技术。 该报告提到目前美国政府已经为量子科学制定了一项公开的国…

SoraAI优先体验资格注册教程

SoraA1视频工具优先体验资格申请 申请网址:https://openai.com/form/red-teaming-network 申请步骤: 填写基础信息 请使用英文根据内容填写以下内容,名、姓、电子邮件、居住国家、组织隶属关系(如果有)、教育水平 、学位(哪个领…