以下是一个使用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数据库)。