nodejs写增删改查

以下是一个使用Node.js进行增删改查的示例代码:

const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');

// 创建Express应用程序
const app = express();
app.use(bodyParser.json());

// 链接MongoDB数据库
mongoose.connect('mongodb://localhost:27017/mydatabase', {
  useNewUrlParser: true,
  useUnifiedTopology: true
})
  .then(() => {
    console.log('MongoDB数据库已连接');
  })
  .catch((error) => {
    console.error('MongoDB数据库连接失败', error);
  });

// 定义数据模型
const TodoSchema = new mongoose.Schema({
  title: String,
  completed: Boolean
});

const Todo = mongoose.model('Todo', TodoSchema);

// 添加Todo
app.post('/todos', (req, res) => {
  const { title, completed } = req.body;

  const todo = new Todo({
    title,
    completed
  });

  todo.save()
    .then(() => {
      res.status(201).json({ message: 'Todo已添加' });
    })
    .catch((error) => {
      res.status(500).json({ message: '添加Todo时发生错误', error: error });
    });
});

// 获取所有Todos
app.get('/todos', (req, res) => {
  Todo.find()
    .then((todos) => {
      res.status(200).json(todos);
    })
    .catch((error) => {
      res.status(500).json({ message: '获取Todos时发生错误', error: error });
    });
});

// 获取单个Todo
app.get('/todos/:id', (req, res) => {
  const id = req.params.id;

  Todo.findById(id)
    .then((todo) => {
      if (todo) {
        res.status(200).json(todo);
      } else {
        res.status(404).json({ message: '找不到该Todo' });
      }
    })
    .catch((error) => {
      res.status(500).json({ message: '获取Todo时发生错误', error: error });
    });
});

// 更新Todo
app.put('/todos/:id', (req, res) => {
  const id = req.params.id;
  const { title, completed } = req.body;

  Todo.findByIdAndUpdate(id, { title, completed })
    .then((todo) => {
      if (todo) {
        res.status(200).json({ message: 'Todo已更新' });
      } else {
        res.status(404).json({ message: '找不到该Todo' });
      }
    })
    .catch((error) => {
      res.status(500).json({ message: '更新Todo时发生错误', error: error });
    });
});

// 删除Todo
app.delete('/todos/:id', (req, res) => {
  const id = req.params.id;

  Todo.findByIdAndDelete(id)
    .then((todo) => {
      if (todo) {
        res.status(200).json({ message: 'Todo已删除' });
      } else {
        res.status(404).json({ message: '找不到该Todo' });
      }
    })
    .catch((error) => {
      res.status(500).json({ message: '删除Todo时发生错误', error: error });
    });
});

// 启动服务器
app.listen(3000, () => {
  console.log('服务器已启动');
});

以上示例代码使用Express框架和Mongoose库来创建一个服务端应用程序,实现了增删改查的功能。具体的操作可以通过访问相应的API端点来执行。请注意要提前安装相关的依赖包:Express、body-parser(用于解析请求体数据)和mongoose(用于链接MongoDB数据库)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端鼓励师

老铁 支持一波

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值