资讯专栏INFORMATION COLUMN

【Part3】用JS写一个Blog (node + vue + mongoDB)

CoorChice / 508人阅读

摘要:用写一个用写一个上一节我们把数据库连接成功了,这节我准备写关于文章的数据接口增删改查上次说到接口都在文件夹里面写,打开文件,首先引入文章的模型新增文章新增文章方法保存数据到数据库如果出现错误,直接把错误进的错误中枢处理储存成功后,返回给客户

【Part1】用JS写一个Blog (node + vue + mongoDB)
【Part2】用JS写一个Blog (node + vue + mongoDB)

上一节我们把数据库连接成功了,这节我准备写关于文章的数据接口(增 删 改 查)
上次说到接口都在routers文件夹里面写,打开post.js文件,首先引入文章的模型

let postModel = require("../models/post")

新增文章API

//新增文章
router.post("/create", (req, res, next) => {
  let title = req.body.title
  let content = req.body.content

  let post = new postModel()
  post.title = title
  post.content = content
  post.save((err, doc) => {  // save方法保存数据到数据库
    if (err) {
      next(err)    // 如果出现错误,直接把错误next进express的错误中枢处理
    } else {
      res.json({    //储存成功后,返回给客户端一个json
        status: 0,
        msg: "创建成功"
      })
    }
  })
})

查询文章列表API

router.get("/postslist", (req, res, next) => {
  postModel.find({}, (err, posts) => {   //find查询方法第一个参数是查询条件,如果为空,则查询所有的,后面是一个回调,回调中第一个参数是错误,第二个参数是查询的结果,在这里为一个数组
    if (err) {
      next(err)
    } else {
      res.json({
        status: 0,
        list: posts
      })
    }
  })
})

更改文章内容API

router.post("/update", (req, res, next) => {
  let id = req.body.id      //拿到客户端传递过来的文章id,根据id来查找到该文章
  let title = req.body.title
  let content = req.body.content

  postModel.findOneAndUpdate({_id: id}, {title, content}, err => {
    if (err) {
      next(err)
    } else {
      res.json({
        status: 0,
        msg: "更新成功"
      })
    }
  })
})

删除文章API

router.get("/delete", (req, res, next) => {
  let id = req.query.id

  postModel.remove({_id: id}, err => {
    if (err) {
      next(err)
    } else {
      res.json({
        status: 0,
        msg: "删除成功"
      })
    }
  })
})

然后最后把接口暴露出去
module.exports = router

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90562.html

相关文章

  • Part3JS一个Blognode + vue + mongoDB

    摘要:用写一个用写一个上一节我们把数据库连接成功了,这节我准备写关于文章的数据接口增删改查上次说到接口都在文件夹里面写,打开文件,首先引入文章的模型新增文章新增文章方法保存数据到数据库如果出现错误,直接把错误进的错误中枢处理储存成功后,返回给客户 【Part1】用JS写一个Blog (node + vue + mongoDB)【Part2】用JS写一个Blog (node + vue + m...

    wuyumin 评论0 收藏0
  • 【Part1】JS一个Blognode + vue + mongoDB

    摘要:总的来说就是开发博客系统,探索前端走向全栈之路。我会记录下来整个过程在我的专栏,有兴趣的可以关注一下,一起学习,欢迎讨论。话不多说,先进行前后端项目的初始化。安装完成后,输入命令切换到项目文件夹后输入命令访问一下项目初始化完成。 学习JS也有一段时间了,准备试着写一个博客项目,前后端分离开发,后端用node只提供数据接口,前端用vue-cli脚手架搭建,路由也由前端控制,数据异步交互用...

    jhhfft 评论0 收藏0
  • 【Part1】JS一个Blognode + vue + mongoDB

    摘要:总的来说就是开发博客系统,探索前端走向全栈之路。我会记录下来整个过程在我的专栏,有兴趣的可以关注一下,一起学习,欢迎讨论。话不多说,先进行前后端项目的初始化。安装完成后,输入命令切换到项目文件夹后输入命令访问一下项目初始化完成。 学习JS也有一段时间了,准备试着写一个博客项目,前后端分离开发,后端用node只提供数据接口,前端用vue-cli脚手架搭建,路由也由前端控制,数据异步交互用...

    ctriptech 评论0 收藏0
  • 【Part2】JS一个Blognode + vue + mongoDB

    摘要:用写一个上一节前后端项目分别初始化完成,这一小节我就从后端项目开始写。每一个都映射到一个的集合,并定义了该集合中的文档的形式。 【Part1】用JS写一个Blog (node + vue + mongoDB) 上一节前后端项目分别初始化完成,这一小节我就从后端项目开始写。实现mongoDB数据库的连接。 整理后端目录 下面是通过express-generate生成的项目的目录 show...

    charles_paul 评论0 收藏0
  • 【Part2】JS一个Blognode + vue + mongoDB

    摘要:用写一个上一节前后端项目分别初始化完成,这一小节我就从后端项目开始写。每一个都映射到一个的集合,并定义了该集合中的文档的形式。 【Part1】用JS写一个Blog (node + vue + mongoDB) 上一节前后端项目分别初始化完成,这一小节我就从后端项目开始写。实现mongoDB数据库的连接。 整理后端目录 下面是通过express-generate生成的项目的目录 show...

    YPHP 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<