首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

从零到部署:用 Vue 和 Express 实现迷你全栈电商应用(最终篇)

小结 在这一小节中,我们学习了: 通过 Nginx 容器提供前端静态页面,并将后端请求转发给 API 容器 容器化后端应用,建立数据库连接 通过 Docker Compose 一键构建和启动应用 配置...MongoDB 的身份验证 之前的部署配置中,有一个重大的安全隐患:我们的 MongoDB 数据库没有配置任何的身份验证措施,这意味着所有能够访问数据库的请求都可以对数据库作出任何修改!...修改 MongoDB 连接设置 首先,我们修改 server/app.js 中的 MongoDB 连接设置,代码如下: // ... // Datbase connection here mongoose.connect...Docker Compose 中配置初始密码 最后 docker-compose.yml 里面为 db 服务添加初始密码环境变量: // ......我们平时用的镜像(例如 mongo 、nginx 、node 等)都是 Docker Hub 的官方镜像(或者是其他代理加速器)。

1.2K20

我为什么喜欢NestJS

NodeJS 的世界里,也存在一个全面借鉴 Spring 设计思想的框架,它在 github 上有将近 2w 的 star,npm 的周下载量超过 11w,它就是本文要介绍的 NestJS。...依赖注入最大的作用是代码解耦,依赖的对象根据不同的情况可以有多种实现,如单元测试的时候可以不改业务代码的情况下将依赖的对象换成 Mock 数据。...打开app.module.ts,内容如下: @Module({ imports: [CatsModule, MongooseModule.forRoot('mongodb://localhost/nest...连接数据库 例子中使用mongoose连接和操作本地MongoDB数据库。为了更方便使用,Nest提供了@nestjs/mongoose包,对mongoose包装了一层,使其更符合Nest的使用风格。...操作数据库的步骤如下: app.module中定义连接数据库:MongooseModule.forRoot('mongodb://localhost/nest') cat.schema中定义 Schema

1.9K20

面向前端工程师的 Node.js 入门手册(四)

实质,任何数据库均是文件系统,但是它与我们桌面上右键新增的文件相比而言,数据库则是有规则的文件系统,不像我们普通新增一个文件便可以随意写东西进去,数据库文件会有专门的存贮规则和特定操作数据内容的方式...这里就以Mongodb来看看Nodejs是如何操作非关系型数据库的。 首先安装Mongodb,这里还是推荐使用docker去安装mogodb。...启动镜像, -p 暴露27017端口, # 下面的文件路径要替换成你的机器的一个要存放db文件的文件路径,比如我 ~/Desktop/Practice-book/nodejs/db/mongodb...接下来进行连接与操作mongodb数据库,这里选用使用量较高的mongoose模块。...docker启动的mysql服务,然后编写插入SQL语句,使用连接数据库后query接口进行执行编写好的SQL语句,执行完成之后进行一次查询。

2.6K10

从零到部署:用 Vue 和 Express 实现迷你全栈电商应用(二)

4.第四部分(✍写作中):用 Element UI 组件库让界面更加专业美观,并且用 DockerDocker Compose 部署我们的全栈项目。...接着我们我们的 app.js 文件中导入 mongoose ,并且通过 mongoose 提供的接口连接我们的 MongoDB 数据库: // ... const mongoose = require...接着我们通过 npm start 运行服务器,我们就在 Express 中连接上了我们的 MongoDB 数据库,虽然现在还看不到任何效果,我们马上会编写路由来操作数据库来测试连接的有效性。...我们开头导入了我们之前定义的 ManufacturerModel,这是 Mongoose 为我们提供的操作数据库的接口,我们通过定义 Model 的一系列如 find、findOne、updateOne...因为我们的服务器开启时要连接 MongoDB 数据库,所以要确保本地的 MongoDB 数据库已经开启,我们可以通过如下命令来开启: $ mongod 好了,现在我们的 API 服务器就搭建完成了,现在我们通过

3K10

面向前端工程师的Nodejs入门手册(四)

实质,任何数据库均是文件系统,但是它与我们桌面上右键新增的文件相比而言,数据库则是有规则的文件系统,不像我们普通新增一个文件便可以随意写东西进去,数据库文件会有专门的存贮规则和特定操作数据内容的方式...这里就以Mongodb来看看Nodejs是如何操作非关系型数据库的。 首先安装Mongodb,这里还是推荐使用docker去安装mogodb。...启动镜像, -p 暴露27017端口, # 下面的文件路径要替换成你的机器的一个要存放db文件的文件路径,比如我 ~/Desktop/Practice-book/nodejs/db/mongodb...接下来进行连接与操作mongodb数据库,这里选用使用量较高的mongoose模块。...docker启动的mysql服务,然后编写插入SQL语句,使用连接数据库后query接口进行执行编写好的SQL语句,执行完成之后进行一次查询。

2.6K10

面向前端工程师的Nodejs入门手册

实质,任何数据库均是文件系统,但是它与我们桌面上右键新增的文件相比而言,数据库则是有规则的文件系统,不像我们普通新增一个文件便可以随意写东西进去,数据库文件会有专门的存贮规则和特定操作数据内容的方式...这里就以Mongodb来看看Nodejs是如何操作非关系型数据库的。 首先安装Mongodb,这里还是推荐使用docker去安装mogodb。...启动镜像, -p 暴露27017端口, # 下面的文件路径要替换成你的机器的一个要存放db文件的文件路径,比如我 ~/Desktop/Practice-book/nodejs/db/mongodb...接下来进行连接与操作mongodb数据库,这里选用使用量较高的mongoose模块。...docker启动的mysql服务,然后编写插入SQL语句,使用连接数据库后query接口进行执行编写好的SQL语句,执行完成之后进行一次查询。

2.8K30

Node.js 服务连接 MongoDB 处理最佳实践

: 开发环境下能够打印详细的数据库操作信息 与数据库断开连接后,所有涉及到数据库读写操作的命令均会立即返回错误,而不会等待重连进而造成接口超时 服务启动并成功与数据库建立连接后,如果数据库出现问题造成连接中断...,服务会自动尝试重连直到连接成功 无需手动处理连接数 我们逐条来看每个需求对应的配置: 见注释 A,开发环境中设置 'debug' 为 true,数据库将会把集合方法和参数打印到控制台。...核心意思就是将 bufferMaxEntries 设为 0 同时将 bufferCommands 设为 false,可以让驱动连接数据库的时候,操作立即返回失败,而不是一直等待重连。...见注释 C,这实际mongoose 的默认设置,其连接数据库时的 config 参数 autoReconnect 默认为 true,其含义见文档: autoReconnect - The underlying...解决方法也不是没有,就是比较鸡肋: mongoose 连接的 'error' 事件监听回调函数中尝试重连。但是需要设置最大重试次数,否则会发生内存泄露。

3.4K20

mongoose食用姿势!

什么是Mongoose? Mongoose库简而言之就是对node环境中MongoDB数据库操作的封装,一种对象模型工具,可以将数据库中的数据转换为JavaScript对象供我们使用。...并不需要引用mongodb这个包     var mongoose = require('mongoose');     //链接数据库,itatic是数据库名字     mongoose.connect...数据库连接 固定格式: var mongoose = require('mongoose'); //创建数据库连接 var db      = mongoose.createConnection('...mongodb://127.0.0.1:27017/haha'); //监听open事件 db.once('open', function (callback) {     console.log("数据库成功连接..."); }); 定义模型 步骤:建立schema结构 → 定义静态方法 → 建立模型 创造schema结构 语法:new mongoose.Schema({}) 实例: var StudentShema

1.4K30

初试MongoDB学习之Mongoose的使用

=require("mongoose"); 使用"mongoose"连接数据库: var db =mongoose.connect("mongodb://user:pass@localhost:port...() { console.log("数据库连接成功!")...}) #mongoose基本使用 #mongoose的几个新的对象 MongoDB中,多个Document可以组成Collection(以下简称集合),多个集合又可以组成数据库。...文档 —— 是MongoDB的核心概念,是键值对的一个有序集,JavaScript里文档被表示成对象。同时它也是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行,但更具表现力。...Schema—— 一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力,仅仅只是定义数据的类型,可以说是数据属性模型(传统意义的表结构),又或着是“集合”的模型骨架

5.9K20

如何使用 NestJs、PostgreSQL、Redis 构建基于用户设备的授权验证

创建我们的 Docker-compose 文件 创建项目文件夹 device-authentication ,或者你可以随意命名。在其中创建一个文件 docker-compose.yaml 。...使用Docker,我们不需要在本地机器安装PostgreSQL数据库或Redis。...docker compose up 我们应该看到以下内容: 安装 NestJs 为了与我们的容器进行通信,我们需要一个后端服务器。...创建 Redis Provider 在这一点,我们需要创建一个关于Redis的代码程序来处理用户设备的缓存。它将允许我们Redis缓存中获取、设置、删除和重置键。...回想一下,我们的 docker-compose.yaml 文件中,我们将 ttl (存活时间)设置为 300 秒,即5分钟。因此,存储我们的Redis存储中的数据将在 300 秒后过期并被删除。

32220

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券