用 NodeJS, Express, MongoDB 和 TypeScript 设计 API 启动 创建 Todo 类型 创建 Todo 模块 创建 API 控制器 获取、新增、更新和删除 Todo 创建...Todo,我们必须传入更新后的数据和对象 id。...有了这些,我们现在可以继续下一步,展示获取的数据。...getTodos() 方法会返回 promise —— 因此,我们可以调用 then 函数并用获取到的数据更新 state,或者在发生任何错误时抛出一个错误。...如果 Todo 被成功保存,我们将更新数据,否则将会抛出错误。
1.2 准备工作 1.首先你必须安装MongoDB和NodeJS 2.在项目只能够创建一个数据库连接,如下: var mongoose = require('mongoose'); //引用...1.4 Schema.Types NodeJS中的基本数据类型都属于Schema.Type,另外Mongoose还定义了自己的类型 //举例: var ExampleSchema =...两种隐藏的对象,相关内容请查看NodeJS-API 1.6 关于Mixed Schema.Types.Mixed是Mongoose定义个混合类型,该混合类型如果未定义具体形式。...,从某种意义上几乎不会重复,生成过程比较复杂,有兴趣的朋友可以查看源码。...,不是什么数据都能往数据库里丢或者显示到客户端的,数据的验证需要记住以下规则: 验证始终定义在SchemaType中 验证是一个内部中间件 验证是在一个Document被保存时默认启用的,除非你关闭验证
第一章 周介绍 1-1 本周介绍 服务端选型:所有技术为业务服务 nodejs框架选型:Koa2 数据库:Mysql Mongodb Redis 登录校验:JWT 单元测试与接口测试:Jest...线上服务:PM2 + nginx 第二章 选择nodejs框架 2-1 nodejs框架选型-开始 所用常见的nodejs框架中,Koa2是最简单、最小的 目的扩充广度,让你了解有这门技术 Koa2...// src/models 中可能会有 mongoose 的 model ,不过这里获取了也没关系 filter: /\.js$/, excludeDirs: /^\....Mysql:关系型数据库,用于存储表格形式,格式规整的数据 Mongodb:文件数据库,用于存储文件,格式零散的数据。...连接mongodb服务 Schema定义数据格式的规范 以Model规范Collection 规范数据操作的APi const mongoose = require('..
除非你很熟悉这一块,知道自己要什么,否则还是老老实实用缓存吧 需要用到(connect-mongo插件 line 7) // app.use(sessionParser({ 会在数据库中新建一个session...,这样可以避免这个文件不会有太多的代码,可读性降低,将代码分离开来,也有助于维护 在使用的时候: // xxx.vue ... this....数据库的相关操作 我这次用mongodb,主要是因为可以用js来操作,对我来说比较简单,mysql我不会用。...初始化一条数据 如果对mongodb,mongoose没有基础的了解,建议看一看mongoose深入浅出 ,mongoose基础操作 // controllers/student.js const...... } } }) } else { ... } } }) }; 关联集合多条数据的更新
接下来看看Nodejs能不能操作这个网站的“记忆系统”呢?如果可以操作又是如何操作的呢?一起进入Nodejs与数据库的内容学习吧。..., time: Date, }); // 定义数据模型,模型即可直接操作数据,如创建查询更新删除等。...数据接口的提供者由FileDB内的状态值来决定,所以在用户数据接口请求时先获取FileDB内的状态判断。3....,先要获取开关接口所设置的状态值,然后执行查操作,之后返回数据。...文章用到的代码均可在此获取: https://github.com/FantasyGao/Practice-book/tree/master/nodejs/db
接下来看看Nodejs能不能操作这个网站的“记忆系统”呢?如果可以操作又是如何操作的呢?一起进入Nodejs与数据库的内容学习吧。...接下来进行连接与操作mongodb数据库,这里选用使用量较高的mongoose模块。..., time: Date, }); // 定义数据模型,模型即可直接操作数据,如创建查询更新删除等。...数据接口的提供者由FileDB内的状态值来决定,所以在用户数据接口请求时先获取FileDB内的状态判断。3....,先要获取开关接口所设置的状态值,然后执行查操作,之后返回数据。
1.数据库相关概念 在一个数据库软件中可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个 数据集合中可以包含多条文档(具体的数据)。...术语 解释说明 database 数据库,mongoDB数据库软件中可以建立多个数据库 collection 集合,一组数据的集合,可以理解为JavaScript中的数组 document 文档,一条具体的数据...Mongoose第3三方包 使用Nodejs操作MongoDB数据库需要依赖Node.js第 三方包mongoose 使用npm install mongoose命令下载 3.启动MongoDB...在管理员命令行工具中运行net start mongoDB即可启动MongoDB,否则MongoDB将无法连接。...4.数据库连接 使用mongoose提供的connect方法即可连接数据库。
实际在数据库中产生的集合名为courses 2.创建文档 创建文档实际上就是向集合中插入数据。 方法1 分为两步: ①创建集合实例。 ②调用实例对象下的save方法将数据保存到数据库中。...: true }); // 调用实例对象下的save方法将数据保存到数据库中。...找到mongodb数据库的安装目录,将安装目录下的bin目录放置在环境变量中。...] trim: true去除字符串两边的空格 validate: 自定义验证器 default: 默认值 获取错误信息:error.errors['字段名称'].message...// 关联集合 const mongoose = require('mongoose'); // 连接数据库 mongoose.connect('mongodb://localhost/playground
mongodb 文档型数据库,nodejs的好基友。...:可以修改数据库数据或添加附加数据 // 字段相关:$set,$unset,$setOnInsert,$rename,$inc,$min,$max,$mul // 更新多个字段 await fruitsColl.updateOne...也需要一个odm工具来方便更好的操作。而mongoose就是i 一个良好的工具。 mongoose是一个优雅的nodejs对象文档模型。它是由关系型数据库的思想去应用到非关系型数据库。..., name: String }); // 3.编译一个Model, 它对应数据库中复数、小写的Collection const Model = mongoose.model...,比如说: 根据作者查找(findByAuthor) 获取数据表(BlogModel) // 定义实例方法 blogSchema.methods.findByAuthor = function () {
最近在学些NodeJs和Express框架开发后台接口,Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。...Express中怎么做用户登录和注册,以及jsonwebtoken的验证,需要在系统中安装MongoDB数据库;于是在自己的Windows10系统下使用VSCode跟着做,前提是要安装好NodeJs和Express...编码前的准备工作:第三方库和rest-client插件安装 我的nodejs版本是:v10.16.0, npm版本是:6.9.0,cnpm的版本是6.1.0,express的版本是4.16.1,由于npm...res.send({ user, token }) }) // 中间件:验证授权 const auth = async (req, res, next) => { // 获取客户端请求头的...参考资料 1小时搞定NodeJs(Express)的用户注册、登录和授权 全栈之巅-Node.js+Vue.js全栈开发深度爱好者和实践者 Express 4.x API Express中文官网 NodeJs
post请求,ajax传入的参数 获取的时候为ctx.request.body get请求,ajax传入参数 获取的时候为ctx.request.query.参数名 koa-csrf 可以设置什么请求的时候除外...,这样除外的请求就不要求必须传csrf 了 koa mongoose始终报错FormModel is not defined 但是明明定义了,这时候就要看大小写了,当创建一个model实例的时候,往往会起和...model实例一样的名称,这时一定要区分大小写,或者干脆起一个别的名称,否则就是千年巨坑,一直报错找不到!!!!...参数名称在后台中存的格式为idArr[],nodejs不好获取,可以改为post方式传递 koa引入静态文件资源,要在app.js中用koa-static注册静态资源路径 koa-session key...、mongo或者其他数据库来做一个store库存储session cookie中的sessionid是session识别客户端的一种方式 还可以通过url等方式 koa设置前端cookie ctx.cookies.set
:除非被清除,否则永久保存 工作原理 客户端带着用户名和密码去访问/login 接口,服务器端收到后校验用户名和密码,校验正确就会在服务器端存储一个 sessionId 和 session 的映射关系。...数据库我们采用的是mongodb,连接数据库前,我们要先来看一下mongoose。...mongoose是nodeJS提供连接 mongodb的一个库,类似于jquery和js的关系,对mongodb一些原生方法进行了封装以及优化。...); mongoose.connection.on("error", console.error); 用户的 CRUD 项目中的模块是比较多的,我不会一一去演示,因为各个模块实质性的内容是大同小异的...获取用户列表 ? 获取特定用户 ? 创建用户 ? 更新用户信息 ? 删除用户 ?
——萧伯纳 前言 在大数据的驱使下,我们要实现数据持久化存储,数据共享,数据集中管理数据库是不二之选,小编在这里要阐述的是 mongodb 数据库,mongodb[1]是一个基于分布式文件存储的开源数据库系统..."mongoose"); //创建对数据库的连接 let connect = mongoose.createConnection( 'mongodb://127.0.0.1:27017/cms'...更多的文档参考https://mongoosejs.com/docs/schematypes.html[5] ?有人可能会问为什么 ObjectId 可以做唯一标识符呢,不会重复吗?...,欢迎大家的留言和评论,还有后续更新,下期更加精彩 参考资料 [1] 菜鸟教程: https://www.runoob.com/mongodb/mongodb-intro.html [2] mongodb...[4] CommonJS规范: https://javascript.ruanyifeng.com/nodejs/module.html [5] mongoose官网: https://mongoosejs.com
实际在数据库中产生的集合名为courses 1.创建文档 创建文档实际上就是向集合中插入数据。 方法1 分为两步: ①创建集合实例。 ②调用实例对象下的save方法将数据保存到数据库中。...: true }); // 调用实例对象下的save方法将数据保存到数据库中。...找到mongodb数据库的安装目录,将安装目录下的bin目录放置在环境变量中。...要修改的值}).then(result => console.log(result)) // 更新多个 User.updateMany({查询条件}, {要更改的值}).then(result => console.log...] trim: true去除字符串两边的空格 validate: 自定义验证器 default: 默认值 获取错误信息:error.errors['字段名称'].message
这两天跟着B站的Johnny老师学习NodeJs+Express+MongoDB相关的知识点,前后跟着做了1小时搞定NodeJs(Express)的用户注册、登录和授权、Element UI + NodeJs...然后在VSCode中打开终端,使用cnpm命令安装express和MongoDB的数据库模块mongoose和cors(支持跨域),命令如下: cnpm install express cnpm install...}) 在NodeJs中对MongoDB数据库进行增删改查 连接MongoDB数据库 新建一个MongoDB数据库模型,命名为express-test const mongoose = require('...('Product',Productschema) 新增产品 // 新增产品 app.post('/products', async function(req, res){ // 获取客户端请求的json...app.use('/', express.static('public')) // 新增产品 app.post('/products', async function(req, res){ // 获取客户端请求的
1.数据库概述及环境搭建 1.1为什么要使用数据库 动态网站中的数据都是存储在数据库中的 数据库可以用来持久存储客户端通过表单收集的用户信息 数据库软件本身可以对数据进行高效的管理 1.2...什么是数据库 数据库即存储数据的仓库,可以将数据进行有序的分门别类的存储。...,可以理解为JavaScript中的对象 field 字段,文档中的属性名称,可以理解为JavaScript中的对象属性 1.6 Mongoose第3三方包 使用Nodejs操作MongoDB数据库需要依赖...,否则MongoDB将无法连接。...1.8数据库连接 使用mongoose提供的connect方法即可连接数据库。
一、聊天室简单介绍 采用nodeJS设计,基于express框架,使用WebSocket编程之 socket.io机制。聊天室增加了 注册登录 模块 ,并将用户个人信息和聊天记录存入数据库....数据库采用的是mongodb , 并使用其相应mongoose对象工具来处理数据的存取。 功能主要涉及:群聊、私聊、设置个人信息、查看聊天记录、查看在线用户等 效果图: ? .../database/dbHandel'); // 全局handel获取数据库Model global.db = mongoose.connect("mongodb://127.0.0.1:27017/...nodedb"); 这样一来就可以直接操作数据库数据了,比如与app.js在同目录下的 chat_server.js 中的某部分(获取上线用户) // 获取上线的用户...,因为更新信息就涉及数据库的更新以及用户列表的更新,要顺序放好,就想第二点提到的一样 function updateInfo(User,oldName,uname,usex){ // 更新用户信息
"mongoose": mongodb数据库操作 "swig": 模板解析引擎 目前用到的就这些,有其他需求后面可以再安装。...文件用于存放这些模块,生成一个package-lock.json文件,同时packag.json文件也得到更新(package.json展示了模块的版本范文,而package-lock.json则说明具体安装的是哪些模块版本...routers:路由文件目录 node_modules:NodeJS第三方模块目录 shcemas:数据库结构文件目录 views:模板视图文件目录 app.js:应用启动文件入口 ?...//加载express模块 var express = require('express'); //创建app应用,相当于nodeJS的http.createService() var app =...** * [description] 给app绑定首页路由,把一个url路径通过一个或多个方法绑定 * @param {[type]} req request对象,保存客户端请求相关的一些数据
MongoDB Atlas 是一个在云端的数据库,免去了数据库的搭建、维护,通过其提供的 Web UI 能够让你在 5 分钟之内快速搭建一个 Clusters。...本节中我们将用到的是 GET、POST、PUT、DELETE 四个表示操作方式的动词,分别对应用于获取资源、新建资源、更新资源、删除资源。...以下是我们将要完成的 REST API 规划,包含四个 CRUD 操作 CRUD API Routes Description POST /books 增加一本书 GET /books 获取所有书籍列表...PUT /books/:id 根据 id 更新指定编号书籍 DELETE /books/:id 根据 id 删除指定编号书籍 目录规划 一个好的项目离不开一个好的目录规划,当然你也可以按照自己思路来做...作者简介:五月君,Nodejs Developer,慕课网认证作者,热爱技术、喜欢分享的 90 后青年,欢迎关注公众号「Nodejs技术栈」和 Github 开源项目 https://www.nodejs.red
领取专属 10元无门槛券
手把手带您无忧上云