首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Week14-服务端选型:磨刀不如砍柴功

第一章 周介绍 1-1 本周介绍 服务端选型:所有技术为业务服务 nodejs框架选型:Koa2 数据库:Mysql Mongodb Redis 登录校验:JWT 单元测试与接口测试:Jest...线上服务:PM2 + nginx 第二章 选择nodejs框架 2-1 nodejs框架选型-开始 所用常见的nodejs框架,Koa2是最简单、最小的 目的扩充广度,让你了解有这门技术 Koa2...该代码逻辑在 bin/www,通过www代码我们直到,数据同步功能在sync-alter #!...// src/models 可能会有 mongoose 的 model ,不过这里获取了也没关系 filter: /\.js$/, excludeDirs: /^\....前端获取token之后,存储起来。 以后访问接口,都在header带上token。 优缺点 优点:不占用服务器内存、多进程,多服务器,不受影响、不受跨域限制 缺点:无法快速封禁登录的用户。

2K30

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

Nodejs,lowdb模块[1]便是被用于文件数据库的封装库,它的规范就是我们熟知的json规范,使用它无需安装其他软件,仅需要我们有nodejs环境即可。...这里就以Mongodb来看看Nodejs是如何操作非关系型数据库的。 首先安装Mongodb,这里还是推荐使用docker去安装mogodb。.../nodejs/db/mongodb/db 文件夹下会多出一些如下文件。...接着定义了一个模型Model,Model即可理解为暴露出的一张的操作对象,如新增查找更新删除等都在Model上,例子的Model就是操作person的操作对象,它里面有find,create等一些方法...db = fileDB.get('curDb').write(); //获取当前状态 if (db === 'mongo') { // 获取mogondb数据 mongodb.find

2.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

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

Nodejs,lowdb模块[1]便是被用于文件数据库的封装库,它的规范就是我们熟知的json规范,使用它无需安装其他软件,仅需要我们有nodejs环境即可。...这里就以Mongodb来看看Nodejs是如何操作非关系型数据库的。 首先安装Mongodb,这里还是推荐使用docker去安装mogodb。.../nodejs/db/mongodb/db 文件夹下会多出一些如下文件。...接着定义了一个模型Model,Model即可理解为暴露出的一张的操作对象,如新增查找更新删除等都在Model上,例子的Model就是操作person的操作对象,它里面有find,create等一些方法...db = fileDB.get('curDb').write(); //获取当前状态 if (db === 'mongo') { // 获取mogondb数据 mongodb.find

2.8K30

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

Nodejs,lowdb模块[1]便是被用于文件数据库的封装库,它的规范就是我们熟知的json规范,使用它无需安装其他软件,仅需要我们有nodejs环境即可。...这里就以Mongodb来看看Nodejs是如何操作非关系型数据库的。 首先安装Mongodb,这里还是推荐使用docker去安装mogodb。.../nodejs/db/mongodb/db 文件夹下会多出一些如下文件。...接着定义了一个模型Model,Model即可理解为暴露出的一张的操作对象,如新增查找更新删除等都在Model上,例子的Model就是操作person的操作对象,它里面有find,create等一些方法...db = fileDB.get('curDb').write(); //获取当前状态 if (db === 'mongo') { // 获取mogondb数据 mongodb.find

2.6K10

Nodejs学习笔记(四)——支持Mongodb

好了,每次扯几句感觉没法开场似的。...本篇形散于要穿插如何利用github管理自己的代码,而神不散于要继续上篇的《Nodejs学习笔记(三)——一张图看懂Nodejs建站》讲述下不通过伪造数据而是真实的把玩mongodb一番,实现真真正正的有前后台有数据库的...1.2 在代码编写有关Mongodb的模式Schema和模型Model   Shema是一个文档的数据结构,可以定义各种类型如String、Number、Date等类型的字段,有个数据结构的定义,后面的数据就有了一一对应的存放的位置...1.3 在入口文件app.js改写数据获取方式   具体参见app.js,通过新加入的路由“/admin/movie/new”,实现向网站添加数据,也就是将数据插入到mongodb。...之后我们可以在主页以及list和detail页面看到加入的这条记录 注意:代码的update和delete模块的代码还有问题,目前尚未调通,但是不影响对于mongodb数据库的插入数据   录入数据并提交

96750

NodeJS+Express+MongoDB

Collections表示集合,类似关系数据。 Functions表示函数,类似关系数据的存储过程与函数。 Users表示用户。 document表示记录,类似关系数据的记录或行。...如果你想查看所有数据库,可以使用 show dbs 命令: > show dbs MongoDB 默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据。 ?..._id可以自已插入、一个不一定要字段都相同,虽然insert和save方法都可以插入数据,当默认的“_id”值已存在时,调用insert方法插入会报错;而save方法不会,会更新相同的_id所在行数据的信息...i)、指定字段返回: db.名.find({},{"字段名":0});  参数1:返回 0:返回 ?...二、NodeJS访问MongoDB MongoDB对许多平台都提供驱动可以访问数据库,如C#、Java、Node.js等。这里以Node.js为例。

3.5K90

Docker折腾记: (1)构建yapi容器,从构建发布到可用

创建volume docker volume create yapi-mongo 创建一个储存卷,用来专门存放yapi使用的mongodb数据 为什么要独立出来,这是为了以后升级的着想,数据库保留,只要启动的时候关联一下就行了...---- 启动mongodb docker run -d --name yapi-mongo -v yapi-mongo:/data/db mongo 为什么要先启动mongodb,因为yapi初始化的时候依赖...mongodb,比如创建用户这些 这条命令是什么意思呢?...复制代码 若是需要外部管理这个数据库的话,最好也暴露出来端口, mongodb容器默认也暴露了27017端口 docker run -d --name yapi-mongo -v yapi-mongo:...在docker,容器名默认映射容器的访问ip,所以config.json必须指定为mongo的容器名(这个坑浪费了贼多的时间,国外的社区都搜罗了一遍,基本都是说什么--network这些) 还有一些错误忘记截图收录了

2.3K30

Mongoose 操作数据库实现增、删、改、查

Mongoose 介绍 Mongoose 是在 Node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具,Mongoose 是 NodeJS 的驱动,为NodeJS独有。...通过关系型数据库的思想来设计非关系型数据库。 2. 基于 mongodb 数据库,但简化了操作。 官网: https://mongoosejs.com/ 2....定义 Schema 数据的 Schema,为数据库对象的集合,Schema 是 Mongoose 里使用的一种数据模式, 可以理解为结构的定义,每个 Schema 会映射到 Mongodb 的一个...var User=mongoose.model('User', UserSchema); 如上面的定义的模型名称叫User,会操作所在数据的 users 这个集合。 (2)....查找数据 User.find({}, function (err, docs) { if (err) { console.log(err); return;

1.8K30

mac系统下安装、启动、停止mongodb

jmp=nav#community nodejs下载地址: https://nodejs.org/en/ 本文重点记录在mac下安装mongodb 本机环境:系统=>MAC OS 10.12   nodeJS...是看不到 /usr 这个目录的(终端用得溜的请略过),可以打开Finder后按shift + command +G 输入 /usr/local后回车便能看到这个隐藏的目录了 3....use test //使用某个数据库 db.test.insert({‘name’:’byc’}) //插入一条记录 db.test.find() //查找所有记录 db.test.findone()... //查找一条记录 db.dropDatabase() //删除数据库 db.test.drop //删除指定集合 show collections //显示所有集合 db.createCollection...可以安装个图形化工具进行连接操作,我这里用了一个mongobooster 的软件,界面就是下图这样子的 11.要停止mongodb一定要正确的退出,不然下次再次连接数据库会出现问题. use admin

2.3K90

Nuxt + Koa2 + Mongodb 手撸一个网上商城

passport.js是Nodejs的一个做登录验证的中间件,极其灵活和模块化,并且可与Express、Sails等Web框架无缝集成。...注:MongoDB 数据,每个模型都映射至一组文档。这些文档包含 Schema 模型定义的字段名/模式类型。...post请求的参数 let { userName, userPwd, email } = ctx.request.body // 查找数据是否存在该用户 let user = await...let skip = (page - 1) * pageSize // 在nodejs,必须要使用RegExp,来构建正则表达式对象。...mongoose 获取内嵌数组的长度,有没有更好的办法,或者说是既能返回总数也能进行分页? 订单是在数据库存了的,没有展示,收货地址也只有增加。这两处都可以扩展增删改查的功能。

7.8K10

使用NodeJs(Express)搞定用户注册、登录、授权

Express怎么做用户登录和注册,以及jsonwebtoken的验证,需要在系统安装MongoDB数据库;于是在自己的Windows10系统下使用VSCode跟着做,前提是要安装好NodeJs和Express...开发环境,以及在Windows系统配置好MongoDB数据库,关于在Windows下安装MongoDB可以参考菜鸟教程的Windows 平台安装 MongoDB和windows环境下启动mongodb...// 从MongoDB数据库express-auth的User查询所有的用户信息 app.get('/api/users', async(req, res) => { const users =...数据USer中新增一个用户 const user = await User.create({ username: req.body.username, password: req.body.password...split(' ').pop() const tokenData = jwt.verify(rawToken, SECRET) // console.log(tokenData) // 获取用户

9.8K10

Easy Muke本地化部署完全攻略

在开发过程, 前后端的开发往往是并行的, 为了提升开发的效率, 前端需要自行模拟接口数据,完成开发 创建测试数据的工具有很多, 从代码开源, 易用性, 文档可读性 方面考虑, Easy Muke都是非常优秀的...在这里分享一下,正确的安装姿势 我这里用centos7虚拟机做演示, 为了避开安装数据库过程的一些权限问题, 我的所有操作都是以root身份执行, 好了, 废话少说, 开搞!...在终端执行以下语句,让环境变量立即生效 source /etc/profile 创建mongodb数据库目录 mkdir -p /data/mongo 创建启动文件 touch /data/mongo/...mongodb.cnf # 数据库路径 dbpath=/data/mongo/ # 日志路径 logpath=/data/mongo/mongo.log #新日志追加到旧的日志后面 logappend...在外部访问easy-mock ? ? ?

89530

nodeJS操纵数据

步骤: //1、导入我们需要的核心模块(NodeJS提供的模块我们称之为核心模块) var http = require('http'); //2、利用获取到的核心模块的对象...c:/mongodb_datas --journal --storageEngine=mmapv1 使用robomongo这个小机器人来操作我们的数据数据 步骤: 1、连接到我们mongodb...数据库服务端,并且连接成功之 后,服务端会给我们返回一个操作数据库的db对象 2、拿着上一步返回的db对象,对mongodb数据数据进行操作了 连接成功之后,我们要来操作数据的话 1、创建一个数据库...(相当于在excel创建空白工作簿) 2、创建集合 (相当于在excel创建工作表单) 数据的一个集合,把相关联的数据放在一个集合 3、确立表头,插入数据、删除数据、修改数据、查询数据 MongoDB...学生集合、食品集合) 一个集合可以有多条文档(多条数据) 在NodeJS中使用mongodb这个第三方包来操作我们mongodb数据数据 参考: https://www.npmjs.com/package

2.4K41

Java内部类有坑,100%内存泄露!

实例:持有外部类 实例:持有外部类 实例:内存泄露 不会内存泄露的方案 ---- 简介 「说明」 本文介绍 Java 内部类持有外部类导致内存泄露的原因以及其解决方案。...内部类改为静态的之后,它所引用的对象或属性也必须是静态的,所以静态内部类无法获得外部对象的引用,只能从 JVM 的 Method Area(方法区)获取到static类型的引用。...实例:内存泄露 「简介」 若内部类持有外部类的引用,对内部类的使用很多时,会导致外部类数目很多。此时,就算是外部类的数据没有被用到,外部类的数据所占空间也不会被释放。...本处在外部类存放大量的数据来模拟。...不会内存泄露的方案 「简介」 内部类改为静态的之后,它所引用的对象或属性也必须是静态的,所以静态内部类无法获得外部对象的引用,只能从 JVM 的 Method Area(方法区)获取到 static 类型的引用

71830

我的NodeJS学习之路6(数据库设计及开发)

举个栗子 假如我们用关系型数据库设计了一张文章,字段如下: title:文章标题 content:文章内容 authorId:作者ID(通常可能是外键) 同时根据我们的设计,项目已经开始线上测试并且录入了很多文章数据...项目中的Mongodb设计 NodeJS的流行,离不开丰富的中间件支持,对于操作Mongoose的中间件,我推荐“mongoosejs”, 官网称之为:“Mongoose ODM”。...说到这里,我们先来说一个其他的问题:“关于Mongodb两个集合之间的对应关系,设计呢?”...通过查找资料我的总结如下: 如果只需要通过A集合查询B集合,而不需要反过来查询,也就是单向的关系(如文章和评论,只需要展示文章的时候,将其评论展示即可),那么可以在A集合建立一个子集合B。...关于NodeJS数据库的知识,就写这么多了,想要更多的了解有关Mongoose的用法,请参考官方文档:Mongoosejs Guide。文档写得非常详细! Have a good luck~

2.8K10

Docker 搭建你的第一个 Node 项目到服务器

-p 用来指定端口映射,将容器的端口3000映射到主机3000`端口上,这样就可外部访问了。...Docker 部署 Mongodb 环境 远程获取 Mongodb 镜像 docker pull mongo 创建一个docker容器 docker run -p 27017:27017 -v /data...最终访问的还是本机的端口) -v 为设置容器的挂载目录,这里是将即本机的目录挂载到容器的/data/db,作为 Mongodb 的存储目录 --name 为设置该容器的名称 -d 设置容器以守护进程方式运行...测试连接容器Mongodb 可视化工具连接 以上是 MongoDB 容器创建后的信息。...连接数据库时候可能失败,会出现问题,这时候注意一个问题,安全组问题,需要把安全组的27017的 Mongodb 数据库端口打开 ” ?

1.3K10

Nuxt + Koa2 + Mongodb 手撸一个网上商城

passport.js是Nodejs的一个做登录验证的中间件,极其灵活和模块化,并且可与Express、Sails等Web框架无缝集成。...Schema 可以定义每个文档存储的字段,及字段的验证要求和默认值。 mongoose.model() 方法将模式“编译”为模型。模型就可以用来查找、创建、更新和删除特定类型的对象。...注:MongoDB 数据,每个模型都映射至一组文档。这些文档包含 Schema 模型定义的字段名/模式类型。...post请求的参数 let { userName, userPwd, email } = ctx.request.body // 查找数据是否存在该用户 let user =...let skip = (page - 1) \* pageSize // 在nodejs,必须要使用RegExp,来构建正则表达式对象。

9.4K10
领券