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

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

然后回到我们之前开启终端,安装 Mongoose 这个 npm 包: $ npm install mongoose Mongoose MongoDB 最流行 ODM(Object Document...通过定义它们来告诉 mongoose 你需要数据结构和对应数据类型是什么。 我们来创建 model/index.js 文件编写我们 Schema 。...,除了我们熟知像 String、Number 等数据类型,ObjectId 一个特殊数据类型,我们用它来定义我们单个 MongoDB 文档主键,用于标志存储数据唯一性。...我们还可以看到,在我们 productSchema 中,manufacturer 数据结构我们定义了一个 ref 属性,这是 MongoDB 为我们提供类似关系数据库功能,允许我们创建一对多数据文档...最后测试添加商品 product,POST /api/v1/products:这里我们在定义 product 数据属性时,加入了 Manufacturer 作为,所以创建时候对应 manufacturer

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

React、TypeScript、NodeJS 和 MongoDB 搭建 Todo App

用 NodeJS, Express, MongoDB 和 TypeScript 设计 API 启动 如果你新手,可以看看《TypeScript 实用指南》,或者从《如何用 Node JS、Express...yarn add express cors mongoose 我们还需要安装它们类型作为开发依赖项,帮助 TypeScript 编译器理解这些包。...yarn add -D @types/node @types/express @types/mongoose @types/cors 现在,TypeScript 不会再对你提示错误——它将使用这些类型来定义我们刚刚安装库...: ITodo } 这里, ITodo 接口需要跟 API 返回数据类型一样。这里没有 mongoose , 所以需要加一些额外属性来匹配 API 定义数据类型。...我们还需要添加一个替代类型({}),因为初始状态个空对象。 有了这些,我们现在可以继续下一步,展示获取数据。

17K30

最新HTML5学习路线整合

怎么学HTML5 HTML5万维网核心语言,标准通用标记语言下一个应用超文本标记语言(HTML)第五次重大修改,一方面提升了用户体验,另一方面HTML5技术跨平台,适配多终端,改变了传统开发者需针对不同操作系统进行研发局面...效果与关键帧 弹性盒模型 移动端布局 移动端基本概念 viewport窗口设置 移动端布局方案 rem、vh、vw等单位 响应式布局 bootstrap框架 JavaScript基础 JS简介 JS变量 数据类型与类型转换...定时器使用 this指向与修改指向 数组、字符串等方法操作 时间对象与正则对象 掌握常见BOM操作 常见事件与事件细节 JSON与AJAX JSONP跨域操作 前端cookie使用 实战:JS配合HTML...数据建模 mongoose与node结合开发 express框架 中间件与ejs模板引擎 Robomongo与postman工具 express+mongoose搭建后端框架 设计Restful API...Android/ios与H5通信 Cordova/Phonegap框架 HTML5+基于HB工具 React Native 前端架构 单元测试与编写测试用例 自动化测试方案 前端安全与HTTP协议 项目上线与一部署

1.9K40

说说我对 TypeScript 索引签名 理解

答案使用一个索引签名! 接着,我们来看看什么 TypeScript 索引签名以及何时需要它们。 1.什么索引签名 索引签名思想在只知道和值类型情况下对结构未知对象进行类型划分。...,它告诉TypeScript salaryObject 必须一个以string 类型为,以 number 类型为值对象。...索引签名只是将一个类型映射到一个值类型,仅此而已。如果没有使这种映射正确,值类型可能会偏离实际运行时数据类型。 为了使输入更准确,将索引值标记为 string 或 undefined。...当在属性访问器中作为使用时,JavaScript隐式地将数字强制为字符串(names[1]与names['1']相同)。TypeScript也会执行这个强制。...建议使用索引签名来注释通用对象,例如,字符串类型。

1.7K20

TS - Index Signatures

参数以接受字符串、值为数字对象?...答案使用索引签名! 让我们找到什么TypeScript索引签名以及何时需要它们。 1.为什么要索引签名 索引签名思想在您只知道和值类型时键入未知结构对象。...索引签名将类型映射到值类型-仅此而已。如果您不正确映射,值类型可能会偏离实际运行时数据类型。 为了使键入更准确,请将索引值标记为string或undefined。...当在属性访问器中用作时,JavaScript会将数字隐式强制转换为字符串(names[1]与names['1']相同)。TypeScript也执行这种强制。...要将类型限制为特定字符串并集,则使用Recordutilty类型一个更好主意。索引签名不支持字符串文字类型并集。

7510

我为什么喜欢NestJS

Nest还践行了面向切面编程思想,除了Middleware,还有Exception Filter、Pipes、Guards和Interceptors几个预定义切面,可以集中进行异常处理、数据验证、...类型系统后端开发很重要一环,Nest使用TypeScript实现框架,因此原生就支持TypeScript,而且还大量使用了注解,熟悉 Spring 朋友会感到十分亲切。...@Get(':name')获取 url 参数,而@Param('name')获取请求体参数。...@Body(new ValidationPipe()) createCatDto: CreateCatDto这行代码做了很多事,首先将请求体取出,然后校验数据类型是否合规,然后再将请求体转换为 DTO...连接数据库 例子中使用mongoose连接和操作本地MongoDB数据库。为了更方便使用,Nest提供了@nestjs/mongoose包,对mongoose包装了一层,使其更符合Nest使用风格。

1.9K20

基于 egg.js 构建 graphql api 服务

一大特色,由于我们基于 TypeScript ,所以选择了支持 TS 包。...resolver.js | 类型实现 │ └── schema.graphql | schema 定义 CORS CORS,常被大家称之为跨域问题,准确叫法跨域资源共享...**(CORS,Cross-origin resource sharing)**,W3C标准,一种机制,它使用额外HTTP头来告诉浏览器 让运行在一个 origin (domain) 上Web应用被准许访问来自不同源服务器上指定资源...在定义字段时需要注明类型,这也是 graphql 特点之一,支持强类型。如果非空,就在类型后面跟上一个!号。graphql 还包括枚举类型,列表和自定义类型。...Jack', }, { id: 2, name: 'Lucy', }, ]; } } resolver resolve.js数据类型具体实现

1.8K10

深入浅出mongodb(二)

前言 上篇文章阐述了mongoosescheme和model基础知识,有了上面的认知,我们开始下面的一系列骚操作,亲爱滴小伙伴们准备好了吗?...1,-1 skip 指定跳过几条,忽略几条 limit 限定返回最大条数 更新 update有两个参数,第一个参数条件,第二个参数更新后值 (async function(){ let...updateMany同理如果找到多条记录,则更新所有匹配记录 删除 删除艰巨任务,毕竟删库跑路一直都备受关注,所以在使用时候一定要小心☠。 默认情况下remove删除所有匹配记录。...,在ScoreSchema结构里面uid一个,类型一个ObjectId类型,用于标志存储数据唯一性。...('uid'); console.log(score); })("5f22712e78f5d73c7cae4b2f") image.png 上图使用了populate填充意思 就是把一个字段

1.5K10

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

:seq.sync({ alter: true }) 3-5 Mongodb和Mongoose MongodbWeb应用中最常见NoSQL应用。...课程中关于redis其它内容依旧给出实战课让自己去学习,其它什么也没说,而我本地也是安装过redis,但是不记得如何启动了,于是我步骤这么展开: 第一步:首先看本地redis是否已删除...koa2 npm install koa-generator -g koa2 koa2-test npm install && npm run dev 第十章 mysql和Sequelize 关于表...:表关联,有一些设置,我发现之前后端表中都没有对外键盘做一个级联操作,于是在回头查看一些表结构时候,就不容易看出来一些表关联关系,如果我们在新建表时候就去设置关联,首先表结构一目了然...,且在新增(关联主键没有值得时候)会有错误提示,删除主键表时候,关联主键内容也会删掉。

2K30

Mongoose学习参考文档

Model和Entity都有能影响数据库操作,但仍有区别,后面我们也会做解释 二、新手指引 如果您还不清楚Mongoose如何工作,请参看第一章快速通道快速浏览他用法吧 1....title:String, author:String //new Schema()中传入一个JSON对象,该对象形如 xxx:yyyy , /xxx一个字符串...,定义了属性,yyy一个Schema.Type,定义了属性类型 }); 1.3 什么Schema.Type Schema.TypeMongoose内定一些数据类型,基本数据类型都在其中...1.4 Schema.Types NodeJS中基本数据类型都属于Schema.Type,另外Mongoose还定义了自己类型 //举例: var ExampleSchema =...Schema.Types.Mixed, //该混合类型等同于nested _id:Schema.Types.ObjectId, //主键 _fk:Schema.Types.ObjectId, //

24.2K90

TypeScript基础常用知识点总结

TypeScript—基础数据类型 JavaScript 类型分为两种:基础数据类型和对象类型 (1)布尔值类型 布尔值最基础数据类型,在 TypeScript 中,使用 boolean 定义布尔值类型...TypeScript—Map对象 Map 对象保存键值对,并且能够记住原始插入顺序。任何值(对象或者原始值) 都可以作为一个或一个值。...TypeScript—元组 我们知道数组中元素数据类型都一般相同(any[] 类型数组可以不同),如果存储元素数据类型不同,则需要使用元组。...用法举例:定义一对值分别为 string 和 number 元组: //定义了一个有字符串和数字元组,下面正确写法: let tom: [string, number] = ['Tom', 25...TypeScript字符串字面量类型 字符串字面量类型用来约束取值只能某几个字符串一个。

4.8K30

JavaScript和TypeScriptsymbol

symbol JavaScript 和 TypeScript原始数据类型,可用于对象属性。与 number 和 string 相比,symbol 具有一些独特功能,使它脱颖而出。...TypeScript符号 TypeScript 完全支持符号,它是类型系统中主要成员。symbol 本身所有可能符号数据类型注释。请参阅前面的 extendObject 函数。...并且我们在运行时最接近标称类型检查事情。这是一种用来重建像 enum 这样结构很好方法。 运行时枚举 一个有趣符号例子在 JavaScript 中重新创建运行时 enum 行为。...TypeScript enum 不透明。...这实际上意味着你不能将字符串值分配给 enum 类型,因为 TypeScript 会将它们视为唯一: enum Colors { Red = 'Red', Green = 'Green',

1.4K20

mogoose 创建数据库并增删改查

下载 npm i mongoose -s 连接数据库 const mongoose = require("mongoose"); mongoose.connect(dbURL); const db =...console.log("链接成功"); }); 创建表结构Schema Schema相当于MySql表结构 通过定义Schema来约束数据类型,支持以下类型数据 类型 作用 String 定义字符串...Date 定义日期 Buffer 定义二进制 Boolean 定义布尔值 Mixed 定义混合类型 ObjectId 定义对象ID Array 定义数组 Decimal128 Map 约束能用对象方法描述数据类型...: 创建表数据实例化model 通过传入具体数据来实例化表,能获得一条具体表数据,类型为Mongoose Documents,向数据库中查找到也是这种类型数据 const user = new User...} res.status(200).json({ doc1, doc2, doc3 }); } ); 通过Model.insertMany方法 该方法与create区别是它接收第一个参数数据组成数组

5.1K30

typescript 数据类型有哪些

一、typescript是什么 typescript javascript超集,在javascript基础上提供了更加实用类型供开发使用; 支持ES6语法,支持面向对象编程概念,如类、接口、继承...、泛型等; 其一种静态类型检查语言,提供了类型注解,在代码编译阶段就可以检查出数据类型错误; 同时扩展了 JavaScript 语法,所以任何现有的 JavaScript 程序可以不加改变在...TypeScript 下工作; 为了保证兼容性,TypeScript 在编译阶段需要编译器编译成纯 JavaScript 来运行,为大型应用之开发而设计语言。...二、typescript有哪些数据类型 typescript 数据类型主要有如下: boolean(布尔类型) number(数字类型) string(字符串类型) array(数组类型) tuple...'34'] // no ok 赋值类型、位置、个数需要和定义(生明)类型、位置、个数一致 enum enum类型对JavaScript标准数据类型一个补充,使用枚举类型可以为一组数值赋予友好名字

12710
领券