首页 > web前端 > js教程 > 正文

CRUD 操作:它们是什么以及如何使用它们?

DDD
发布: 2024-10-07 16:22:02
原创
294 人浏览过

CRUD Operations: What Are They, and How Can I Use Them?

CRUD 操作:它们是什么以及如何使用它们?

CRUD 操作(创建、读取、更新和删除)是任何需要数据管理的应用程序的基础。对于开发人员来说,了解这些操作非常重要,因为它们提供了我们有效与数据库交互所需的基本功能。在这篇博文中,我将通过展示如何将 CRUD 操作集成到我的 Yoga Pose Library 应用程序中来解释什么是 CRUD 操作以及如何使用 MERN 堆栈(MongoDB、Express、React 和 Node.js)来实现它们。

什么是 CRUD 操作?

CRUD 是缩写词,代表:

  • 创建: 将新数据添加到数据库。
  • 读取:从数据库中检索数据。
  • 更新:修改数据库中的现有数据。
  • 删除:从数据库中删除数据。

这些操作构成了大多数涉及数据操作的 Web 应用程序的骨干。实施 CRUD 操作使用户能够有效地与数据交互和管理数据。

为 CRUD 操作设置 MERN 堆栈

1. 设置 MongoDB

为了开始实施 CRUD 操作,我设置了一个 MongoDB 数据库来存储我的瑜伽姿势。以下是您可以执行相同操作的方法:

  • 安装MongoDB:从官网下载并安装MongoDB
  • 启动 MongoDB 服务器: 在终端中运行 mongod 来启动服务器。

2. 连接到MongoDB

为了连接到 MongoDB,我使用了 Mongoose,这是一个用于 MongoDB 和 Node.js 的对象数据建模 (ODM) 库。以下是我在 server.js 文件中建立连接的方法:



const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/yogaPoseLibrary')
.then(() => console.log('Connected to MongoDB'))
.catch(err => console.error('Error connecting to MongoDB', err));


登录后复制

3. 创建 Mongoose 模型

接下来,我创建了一个 Mongoose 模型来代表我的瑜伽姿势。该模型允许与 MongoDB 集合轻松交互。在 models/Pose.js 文件中,我定义了架构如下:



const mongoose = require('mongoose');

const poseSchema = new mongoose.Schema({
  name: { type: String, required: true },
  description: { type: String, required: true },
});

module.exports = mongoose.model('Pose', poseSchema);


登录后复制

实施CRUD操作

设置 MongoDB 连接和模型后,我在 Express 服务器中实现了 CRUD 操作。

1. 创建(发布)

为了允许用户添加新的瑜伽姿势,我创建了一条接受 POST 请求的路线:



app.post('/api/poses', async (req, res) => {
  try {
    const newPose = new Pose(req.body);
    const savedPose = await newPose.save();
    res.status(201).json(savedPose);
  } catch (err) {
    res.status(500).json({ error: 'Failed to create pose' });
  }
});


登录后复制

在此路线中,使用请求正文中发送的数据创建一个新姿势并将其保存到数据库中。

2. 读取(获取)

对于读取操作,我创建了一条检索所有姿势的路线:



app.get('/api/poses', async (req, res) => {
  try {
    const poses = await Pose.find();
    res.json(poses);
  } catch (err) {
    res.status(500).json({ error: 'Failed to fetch poses' });
  }
});


登录后复制

此路由从数据库中检索所有瑜伽姿势并将它们作为 JSON 响应发送回。

3. 更新(放置)

为了允许用户更新现有姿势,我实现了一条 PUT 路线:


app.put('/api/poses/:id', async (req, res) => {
  try {
    const updatedPose = await Pose.findByIdAndUpdate(req.params.id, req.body, { new: true });
    res.json(updatedPose);
  } catch (err) {
    res.status(500).json({ error: 'Failed to update pose' });
  }
});


登录后复制

该路由根据提供的 ID 更新特定姿势并返回更新后的姿势。

4. 删除(DELETE)

最后,我实现了删除操作:


app.delete('/api/poses/:id', async (req, res) => {
  try {
    await Pose.findByIdAndRemove(req.params.id);
    res.json({ message: 'Pose deleted' });
  } catch (err) {
    res.status(500).json({ error: 'Failed to delete pose' });
  }
});


登录后复制

此路线使用 ID 从数据库中删除姿势。

测试 CRUD 操作

实现 CRUD 操作后,我使用 Postman 测试每个端点。此测试确保我的路线正常运行并且数据按预期进行管理。

测试示例

  • 创建新姿势

使用以下正文向 /api/poses 发送 POST 请求:


{
"name": "战士 I",
"description": "一种增强腿部和核心力量的站立姿势。"
}

  • 阅读所有姿势

发送 GET 请求到 /api/poses。

  • 更新现有姿势

使用更新后的数据向 /api/poses/:id 发送 PUT 请求。

  • 删除姿势

发送删除请求到 /api/poses/:id。

结论

CRUD 操作对于任何涉及数据管理的应用程序都是必不可少的。通过使用 MERN 堆栈将这些操作集成到我的瑜伽姿势库应用程序中,我创建了一个强大的应用程序,允许用户有效地与瑜伽姿势交互。了解和实施 CRUD 操作将显着提高您的开发技能,并使您能够创建动态 Web 应用程序。随着我不断改进我的应用程序,我期待探索更多功能并增强用户体验。

以上是CRUD 操作:它们是什么以及如何使用它们?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!