Express接口案例——完成文章增删改查接口
一、创建文章的Model
var mongoose = require('mongoose')
const baseModel = require('./base-model.js')
const Schema = mongoose.Schemaconst articleSchema = new mongoose.Schema({title: {type: String,required: true},description: {type: String,required: true},// 文章内容body: {type: String,required: true},// 文章标签tagList: {type: [String],default: null},// 点赞数量favoritesCount: {type: Number,default: 0},// 文章作者信息author: {type: Schema.Types.ObjectId,ref: 'User'},...baseModel
})module.exports = articleSchema
二、数据验证
三、完成创建文章接口
// 创建文章
exports.createArticle = async (req, res, next) => {try {// 处理请求const article = new Article(req.body.article)await article.save()res.status(201).json({article: article})} catch (err) {next(err)}
}
创建成功返回结果为:
四、完成获取文章接口
五、查询文章列表
// 获取文章列表
exports.getArticles = async (req, res, next) => {try {// 处理请求const { limit = 20, offset = 0, tag, author } = req.queryconst filter = {}if(tag) {filter.tagList = tag}if(author) {const user = await User.findOne({ username: author })filter.author = user ? user._id : null}const article = await Article.find(filter).skip(Number.parseInt(offset)) // 跳过多少条.limit(Number.parseInt(limit)) // 取多少条.sort({// -1降序, 1 升序createdAt: -1})const articlesCount = await Article.countDocuments()res.status(200).json({article: article,articlesCount: articlesCount})} catch (err) {next(err)}
}
六、更新文章
6.1 封装验证ID是否有效的函数
https://express-validator.github.io/docs/check-api.html#buildcheckfunctionlocations
修正上图存在的错误:
七、删除文章
Express接口案例——完成文章增删改查接口相关推荐
- 使用 NodeJS+Express+MySQL 实现简单的增删改查
关于node.js暂时记录如下,以后有时间一定学习 文章来自简书,作者:sprint,2016-07 使用 Node.js + Express+MySQL 实现简单的增删改查 https://www. ...
- Flask+mysql 实现增删改查接口开发+测试(图文教程附源码)
目录 一.前言 二.环境准备 2.1 安装python 2.2 安装mysql 三.工具准备 3.1 安装pycharm 3.2 安装Navicat 3.3 安装postman 四.mysql数据库准 ...
- 微信小程序小案例——简单数据增删改查模拟
微信小程序小案例--简单数据增删改查模拟 应同学导师之邀,要做一个微信小程序,虽然没接触过,本着不会就学的态度就接了.这里就简单记录下制作过程,方便以后自己查找.(此处是粗糙版本,练习用的数据模拟)也 ...
- vue访问php时做增删改查,node连接mysql生成接口,vue通过接口实现数据的增删改查(一)...
武汉加油遇新是直朋能到分览支体调!中国加油! 想必许多干用是处框它观有理近货框万理架是察放是近学vue的小伙伴想连接数据库,对数据进行增删改查吧,奈何不知道怎么实现.作为一路踩坑的我,为大家带来我的一 ...
- java 怎么快速找到实现类_JAVA懒开发:FreeMarker快速实现类的增删改查接口
太懒,不多说看图,mybatis-generator工具执行后的项目结构 这个时候没得额service接口类,和service实现类,也没的controller类 执行引擎工具类BeanGenerat ...
- C/C++编程操作Redis数据库,hiredis包装redis数据库操作接口及测试(增删改查与连接)
介绍一个实际应用场景,对于客户频繁需要查询的信息,可以将其放在redis内存数据库中,相当于一个缓存,每次查的时候先去redis内存数据库中去查询,如果查询不到再去oracle数据库中查询,这样提高了 ...
- 增删改查接口命名规范
目录 常用的增删改查命名规约 1.阿里命名规范 Service/Dao 层命名规约 领域模型命名规约 2.自己常用规范 常用的增删改查命名规约 1.阿里命名规范 Service/Dao 层命名规约 1 ...
- 使用Django开发简单接口:文章增删改查
目录 1.一些准备工作 安装django 创建django项目 创建博客应用(app) 2.models.py 3.django admin 登录 创建超级用户 4.修改urls.py 5.新增文章接 ...
- Node编写API接口,ajax实现增删改查
首先展示一下预览效果以及文件结构: 一.预览效果: 信息列表: 编辑: 新增: 删除: 二.代码结构: 文件说明: 1.css文件:存放项目页面样式 2.json:用于项目数据存储 3.index.h ...
最新文章
- 中心化,去中心化?关乎互联网未来命运的重要选
- 晶振波形不是正弦波_10天电子入门-电感/晶振/声音
- windows8专业版安装sql2012
- python xgboost参数_如何对XGBoost模型进行参数调优
- javascript箭头函数和this的指向问题
- 经典卷积网络进阶--ResNet详解
- [渝粤教育] 中国地质大学 高层建筑施工 复习题
- java jdbc 连接mysql数据库,Java 通过JDBC连接Mysql数据库
- 转载自《读者》--您也吻我一下好吗
- Leetcode: Binary Tree Inorder Traversal
- 【MySQL】事务隔离级别
- CentOS7网卡驱动安装过程
- DM - Manager工具
- iOS 依赖注入:Objection 和 Typhoon
- 3d可视化建模产品三维展示平台应用广
- python基础练习-人名最多数统计
- 【论文阅读/翻译笔记】Deep Snake for Real-Time Instance Segmentation
- 2021年中国智能驾驶行业研究报告
- 基于PHP+小程序(MINA框架)+Mysql数据库的新生自助报到小程序系统设计与实现
- dns网络服务器未响应是什么原因(如果各自方法都尝试后无法使用,请尝试重启猫)