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

学生档案管理案例

2.为每一个表单项添加name属性 3.添加实现学生信息功能路由 4.接收客户端传递过来学生信息 5.将学生信息添加到数据库中 6.将页面重定向到学生信息列表页面 6.学生信息列表页 1.从数据库中将所有的学生信息查询出来...const serveStatic = require('serve-static'); // 引入处理日期第三方模块 const dateformat = require('dateformat'...​ // 配置模板跟目录 template.defaults.root = path.join(__dirname, 'views'); //导入模板变量,处理日期格式 template.defaults.imports.dateformat...formData += param;   });    // querystring.parse()方法,能把字符串转换成对象模式    req.on('end', async () => {...       // 将用户提交信息添加到数据库中        await Student.create(querystring.parse(formData));        // 重定向

1.2K20

基于 egg.js 构建 graphql api 服务

,由于我们基于 TypeScript ,所以选择了支持 TS 包。...默认开启 app: true, // 是否加载到 agent 默认关闭 agent: false, // 是否加载开发者工具 graphiql, 默认开启。...apolloServerOptions: { tracing: true, // 设置为true时,以Apollo跟踪格式收集和公开跟踪数据 debug: true, // 一个布尔,...**(CORS,Cross-origin resource sharing)**,是W3C标准,是一种机制,它使用额外HTTP头来告诉浏览器 让运行在一个 origin (domain) Web应用被准许访问来自不同源服务器指定资源...使用 graphql 或 rest 端点时,实际不必担心使用 CSRF 保护。对服务请求应该是无状态,并且不真正依赖Cookie或会话数据。

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

Nodejs和Mongodb连接器Mongoose

同时它也是一个对象数据库,没有表、行等概念,也没有固定模式和结构,所有的数据以文档形式存储(文档,就是一个关联数组式对象,它内部由属性组成,一个属性对应可能是一个数、字符串、日期、数组,甚至是一个嵌套文档...执行下面代码检查默认数据库test,是否可以正常连接成功?  ...MongoDB —— 是一个对象数据库,没有表、行等概念,也没有固定模式和结构,所有的数据以Document(以下简称文档)形式存储(Document,就是一个关联数组式对象,它内部由属性组成,...一个属性对应可能是一个数、字符串、日期、数组,甚至是一个嵌套文档。)...为了方便后面内容学习和提高您学习效率,以下基础数据均和后面内容紧密相连,所以必须按照以下结构方式来定义,请勿修改(默认数据库为test,集合为test1)。

5.8K41

Mongoose 插件记录Node.js API日志

那么如何创建一个 Mongoose 插件,以更清洁方式为你进行记录并简化 API 日志? Mongoose插件是什么? 在 Mongoose 中,模式是可插入。...插件就像一个函数,你可以在模式中使用它,并在模式实例一次次地重用。 Mongoose 还提供全局插件,你可以将其用于所有模式。...isEqual:此方法支持比较数组、数组缓冲区、布尔日期对象、错误对象、映射、数字、对象、正则表达式、集合、字符串、符号和类型化数组。...如果当前对象 value 不等于前一个对象中相同属性:base[key] 如果该是对象本身,我们递归调用函数changes 直到它得到一个,它最终将作为 result[key]=value 存储在...现在我们需要使用架构可用 init 和 save 方法。 this.isNew():如果你正在创建新文档,那么只需返回 next()中间件。

2.7K40

mogoose 创建数据库并增删改查

Number 定义数字 Date 定义日期 Buffer 定义二进制 Boolean 定义布尔 Mixed 定义混合类型 ObjectId 定义对象ID Array 定义数组 Decimal128...Map 约束能用对象方法描述数据类型 是否必须 是否重复 默认 等,如下定义了一个用户表结构 注意:如果定义表结构时没有定义_id,mongoose会自己添加一个该字段,该字段不会重复,类型为ObjectId...默认 }, bio: String, //! 默认没有可以不写 }, { timestamps: true, //!...添加`createdAt updatedAt`创建时间和更新时间两个字段 } ); 如果在定义了结构后需要添加新字段,在实例使用add()方法 创建表model 通过mongoose.model...: 创建表数据实例化model 通过传入具体数据来实例化表,能获得一条具体表数据,类型为Mongoose Documents,向数据库中查找到也是这种类型数据 const user = new User

5.1K30

Node.js 搭建一个 API 接口服务(实战)

,最后决定使用技术栈就是 koa+typescript+mysql+mongodb来搭建项目。...Typescript 网上特别多关于“为什么要用Typescript开发”,“Typescript开发好处和坏处”,“为什么不用Typescript开发”等等争论和文章,有兴趣同学也可以去说道说道哈.../ 允许传入未定义字段 timestamps: true, // 默认会带上createTime/updateTime versionKey: false // 默认不带版本号 }) export...,就是路由可以引入装饰器写法,这样能减少重复工作和提高效率,有兴趣同学可以看我一篇博客哈。...,但是需要考虑东西也是很多,而且因为很多插件都是第一次接触,所以整个项目实现过程还是蛮坎坷,基本是那种摸石头过河。

7.6K31

2020年,你应该知道 23 个非常有用 NodeJs 库

morgan是express默认日志中间件,也可以脱离express,作为node.js日志组件单独使用。 9....它几乎可以覆盖到任何你想用用例,在 Github 文档也可以帮你分分钟熟悉它用法。 12....简单讲就是对SQL查询语句封装,让我们可以用OOP方式操作数据库,优雅生成安全、可维护SQL代码。直观,是一种Model和SQL映射关系。...既然Nodejs强项在于异步,没有理由不找一个强大支持异步数据库框架,与之配合。 14 Mongoose 地址:https://www.npmjs.com/package/mongoose ?...一个轻量级JavaScript日期库,用于解析,验证,操作和格式化日期。 17. lodash 地址:https://www.npmjs.com/package/lodash ?

3.3K30

大数据技术之_22_MongoDB学习_MongoDB 简介、下载、安装、启动、配置和关闭 + MongoDB 基本操作 + Mongoose + 使用 java 对 MongoDB 增删改查

8、MongoDB 安装目录结构 ? 2.4 启动 MongoDB 1、将 MongoDB bin 目录添加到 path 下(这里我们使用 bruce 用户变量) ?...比 Node 原生 MongoDB 驱动更容易 4.3 新对象 mongoose 中为我们提供了几个新对象: Schema(模式对象)   • Schema 对象定义约束了数据库中文档结构。...并且可以对 connection 对象一些事件进行监听,来获悉数据库连接开始与端开。比如,可以通过 open 和 close 事件来监控连接打开和关闭。...4.5 Schema--模式对象(约束对象)   使用 Mongoose 你必须经常定义模式。   模式为集合中文档定义字段和字段类型。   ...如果你数据是被结构化成支持模式,这是非常有用。   简单来说,模式就是对文档约束,有了模式,文档中字段必须符合模式规定。否则将不能正常操作。

17.7K30

Node.js 配合 express 框架、mongodb 实践 &&

一、Node.js默认使用commonJs模块化方案,TypeScript默认是ES6模块化方案,两者有本质区别。.../(使用相对路径),暴露接口使用exports或者module.exports 2.TypeScript import * from url 引入依赖,需要填写完整相对路径,否则是找不到模块...,暴露接口使用export . 3.Node中使用TypeScript需要下一些包去支持,比如express框架这些,还有一些支持内置对象包: 4.github源码下载地址 "dependencies...,所以我们把外部函数变成 async 函数, 这样可以配合 await 实现最佳异步,还可以获取他们返回进行 if 判断。...= require('mongoose'); module.exports = new Promise((resolve, reject) => { mongoose.connect('mongodb

4.9K20

mongodb用mongoose得到对象不能增加属性解决

一,先定义了一个goods(商品)models var mongoose = require('mongoose'); var Schema = mongoose.Schema; var productSchema...(我们默认是可以直接添加)===>userDoc为登录后用户,我们为此用户购物车添加商品 我们goods路由中: Goods.findOne({...因为Mongoose是個ODM (Object Document Mapper),类似于操作关系型数据库使用ORM(Object Relational Mapper),我们使用Mongoose取到数据结构是要依赖于我们定义...在这里需要说明一下,就是虽然我们给schema附加属性,但是这只是实现能真正挂在该schema,并没有添加到schema中。...比如上述只是想实现在添加商品时候,顺便把productNum和checked赋给users表中。我们无须把属性存储到goods中。

1.7K50

使用 TypeScript 和依赖注入实现一个聊天机器人

Mongoose和MongoDB,以编写集成测试 设置 Node.js 项目 首先,让我们创建一个名为 typescript-bot 新目录。...将你 Discord Bot 添加到服务器 为了测试我们机器人,需要一台Discord服务器。你可以使用现有服务器或创建新服务器。...我们是不是只需要将其复制粘贴到此处,或直接从环境中加载就可以了呢? 都不是。相反,让我们用依赖注入框架 InversifyJS 来注入令牌,这样可以编写更易于维护、可扩展和可测试代码。...', error) 10}); 现在,启动机器人并将其添加到服务器。...恭喜你干净利落地用 TypeScript 和 DI 完成了它!这里 TypeScript 依赖项注入示例是一种模式,你可以将其添加到知识库中一遍在其他项目中使用。

11.1K20

基于 Express 应用框架技术方案选型浅谈

,虽然它提供能力非常简单,但对于一些工具平台开发完全可以胜任,并且可以写出各种千奇百怪 MVC 模式(如果对服务端 MVC 不是很清晰可以阅读 服务端 MVC 之 Model2 衍生)。...设计完成后将开发态页面使用 Webpack 打包构建,构建目录为服务端 Express 静态资源目录。首屏渲染工作交给 Ejs 模板引擎(事实也可以直接使用 HTML 字符串渲染)进行处理。...为了支持客户端 TypeScript 语法,需要扩展 Nuxt 默认 Webpack 配置,利用 Nuxt 模块/注册自定义loaders配置 ts-loader,配合 nuxt-property-decorator.../server" build:使用 Webpack 构建 Nuxt 资源包以及使用 Backpack 构建服务端入口文件(转义 TypeScript) pm2:以生产模式启动一个进程守护 Web 服务器...需要注意客户端向服务端发送请求是跨域,因此在服务端开发态环境需要配置允许跨域。 **温馨提示:**一个服务端渲染框架楞是让我拆成了前后端开发分离框架模式

7K30

不容错过 Node.js 项目架构

这篇文章是基于我多年来在处理一些糟糕 Node.js 项目结构、不好设计模式以及无数个小时代码重构经验探索研究。...└───types # 对于 Typescript 类型声明文件(d.ts) 以上不仅仅是组织 JavaScript 文件一种方式......图片描述 因为有一天,您将希望在一个 CLI 工具上来使用您业务逻辑,又或从来不使用。对于一些重复任务,然后从 Node.js 服务器对它自己进行调用,显然这不是一个好主意。 ?...DI 或控制反转(IoC)是一种常见模式,通过 “注入” 或通过构造函数传递类或函数依赖关系,有助于代码组织。...放置一个 .env 文件,这个文件永远不能提交(但它必须与默认一起存在于存储库中),然后,这个 dotenv NPM 包将会加载 .env 文件并将里面的变量写入到 Node.js process.env

5.8K30

前端技术观察第26期

https://github.com/garronej/evt Inspect: 移动Web DevTools“新标准”(英) 适用于macOS和Windows开发人员工具,可检查和调试iOS设备...支持在设备通过USB或WiFi调试Safari, WebViews(和Chrome),也可以在windows上调试ios web,同时支持多种框架devtools等多个特点。...https://inspect.dev/ Mongoose 5.10新增乐观并发控制(乐观锁)(英) Optimistic concurrency核心思想是追踪文档版本并在每次保存后增加版本,当在加载文档和保存文档之间...特性可以帮助缓解运动敏感人群不适(英) 屏幕某些运动可能会对运动敏感的人产生影响,如眩晕,恶心等。...Plugin System(英) 使用设计模式更好设计代码结构 https://javascriptweekly.com/link/94726/web tools And codes Print.js

1.1K20

从项目中由浅入深学习koa 、mongodb(4)

序列文章 从项目中由浅入深学习vue,微信小程序和快应用 (1) 从项目中由浅入深学习react (2) 从项目中由浅入深学习typescript (3) 前言 node.js出现前端已经可以用...:解析router中间件 mongoose :基于mongdodb数据库框架,操作数据 nodemon:后台服务启动热更新 3.项目目录 ├── app...├── middleware // 中间件目录 │ │ └── resFormat.js // 格式化返回 │ ├── models...url:请求url;originalUrl请求原始URL;href:完整URL;hostname:主机名;type:请求头类型; response属性 header:响应头;status:状态,未设置默认为...主要API API 作用 Schema 数据模式,表结构定义;每个schema会映射到mongodb中一个collection,它不具备操作数据库能力 model schema生成模型,可以对数据库操作

1.8K20

mongoose官方文档总结

getter 函数访问 fullName 属性: console.log(axl.fullName); // Axl Rose 如果对 document 使用 toJSON() 或 toObject(),默认不包括虚拟...你也可以设定虚拟 setter ,下例中,当你赋值到虚拟时,它可以自动拆分到其他属性: personSchema.virtual('fullName')....如果为真,为此属性添加require验证器 default: 任何或函数 设置此路径默认,如果是函数m,函数返回默认 select: 布尔 指定query默认projections validate...()连接MongoDB,默认端口27017 操作缓存 就是说不必等待上面的connect连接成功后,就可以使用创建 Mongoose models 禁用缓存,要修改 bufferCommands配置...它允许你在相同底层MongoDb collection使用部分重叠 schema 建立多个 model。

20.6K40
领券