一、创建文章的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接口案例——完成文章增删改查接口相关推荐

  1. 使用 NodeJS+Express+MySQL 实现简单的增删改查

    关于node.js暂时记录如下,以后有时间一定学习 文章来自简书,作者:sprint,2016-07 使用 Node.js + Express+MySQL 实现简单的增删改查 https://www. ...

  2. Flask+mysql 实现增删改查接口开发+测试(图文教程附源码)

    目录 一.前言 二.环境准备 2.1 安装python 2.2 安装mysql 三.工具准备 3.1 安装pycharm 3.2 安装Navicat 3.3 安装postman 四.mysql数据库准 ...

  3. 微信小程序小案例——简单数据增删改查模拟

    微信小程序小案例--简单数据增删改查模拟 应同学导师之邀,要做一个微信小程序,虽然没接触过,本着不会就学的态度就接了.这里就简单记录下制作过程,方便以后自己查找.(此处是粗糙版本,练习用的数据模拟)也 ...

  4. vue访问php时做增删改查,node连接mysql生成接口,vue通过接口实现数据的增删改查(一)...

    武汉加油遇新是直朋能到分览支体调!中国加油! 想必许多干用是处框它观有理近货框万理架是察放是近学vue的小伙伴想连接数据库,对数据进行增删改查吧,奈何不知道怎么实现.作为一路踩坑的我,为大家带来我的一 ...

  5. java 怎么快速找到实现类_JAVA懒开发:FreeMarker快速实现类的增删改查接口

    太懒,不多说看图,mybatis-generator工具执行后的项目结构 这个时候没得额service接口类,和service实现类,也没的controller类 执行引擎工具类BeanGenerat ...

  6. C/C++编程操作Redis数据库,hiredis包装redis数据库操作接口及测试(增删改查与连接)

    介绍一个实际应用场景,对于客户频繁需要查询的信息,可以将其放在redis内存数据库中,相当于一个缓存,每次查的时候先去redis内存数据库中去查询,如果查询不到再去oracle数据库中查询,这样提高了 ...

  7. 增删改查接口命名规范

    目录 常用的增删改查命名规约 1.阿里命名规范 Service/Dao 层命名规约 领域模型命名规约 2.自己常用规范 常用的增删改查命名规约 1.阿里命名规范 Service/Dao 层命名规约 1 ...

  8. 使用Django开发简单接口:文章增删改查

    目录 1.一些准备工作 安装django 创建django项目 创建博客应用(app) 2.models.py 3.django admin 登录 创建超级用户 4.修改urls.py 5.新增文章接 ...

  9. Node编写API接口,ajax实现增删改查

    首先展示一下预览效果以及文件结构: 一.预览效果: 信息列表: 编辑: 新增: 删除: 二.代码结构: 文件说明: 1.css文件:存放项目页面样式 2.json:用于项目数据存储 3.index.h ...

最新文章

  1. 中心化,去中心化?关乎互联网未来命运的重要选
  2. 晶振波形不是正弦波_10天电子入门-电感/晶振/声音
  3. windows8专业版安装sql2012
  4. python xgboost参数_如何对XGBoost模型进行参数调优
  5. javascript箭头函数和this的指向问题
  6. 经典卷积网络进阶--ResNet详解
  7. [渝粤教育] 中国地质大学 高层建筑施工 复习题
  8. java jdbc 连接mysql数据库,Java 通过JDBC连接Mysql数据库
  9. 转载自《读者》--您也吻我一下好吗
  10. Leetcode: Binary Tree Inorder Traversal
  11. 【MySQL】事务隔离级别
  12. CentOS7网卡驱动安装过程
  13. DM - Manager工具
  14. iOS 依赖注入:Objection 和 Typhoon
  15. 3d可视化建模产品三维展示平台应用广
  16. python基础练习-人名最多数统计
  17. 【论文阅读/翻译笔记】Deep Snake for Real-Time Instance Segmentation
  18. 2021年中国智能驾驶行业研究报告
  19. 基于PHP+小程序(MINA框架)+Mysql数据库的新生自助报到小程序系统设计与实现
  20. dns网络服务器未响应是什么原因(如果各自方法都尝试后无法使用,请尝试重启猫)

热门文章

  1. Flask 第三方组件之 Migrate
  2. 【Django】django使用原生SQL的方法(附加说说为什么ORM上不了大台面)
  3. 01Pandas_数据结构
  4. Android中创建自己的对话框
  5. 车流检测之halcon光流法算法实现
  6. mysql的char和varchar_MySQL的char和varchar
  7. 关于ASCII字符的那些事儿
  8. 关注 Imagine Cup 2010, 参与软件设计“最具人气奖”投票
  9. html:web前端开发规范
  10. react-router 页面离开 提示数据变更