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数据库)。

猜你喜欢

转载自blog.csdn.net/weixin_45506717/article/details/131724887