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

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

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 操作:它们是什么以及如何使用它们?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2666628.html

(0)
上一篇 2025年3月7日 12:08:29
下一篇 2025年2月19日 23:25:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js如何连接远程数据库数据库

    通过 JavaScript 连接远程数据库的方法:MySQL:使用 MySQL Connector/J 库连接 MySQL 数据库。PostgreSQL:使用 pg 库连接 PostgreSQL 数据库。MongoDB:使用 MongoDB…

    2025年3月7日
    200
  • node.js如何学

    学习 Node.js 的入门步骤:熟悉 JavaScript 语言安装 Node.js创建 Node.js 文件并打印信息导入模块理解事件和回调进行 HTTP 请求进行数据库操作操作文件系统使用命令行界面部署和测试应用程序 如何学习 Nod…

    2025年3月7日
    200
  • 我的 Web 开发之旅:克服拖延症

    简介 大家好!我叫 Om Kottewar,很高兴欢迎您来到我的博客。在过去的几个月里,我踏上了学习Web开发的旅程。然而,我一路上遇到了一些挑战,特别是拖延和寻找清晰的前进道路。今天,我想分享我的经验并概述我克服这些障碍的计划。 与拖延症…

    2025年3月7日
    200
  • 在阅读本文之前,请勿使用 Prisma ORM!

    想象一下混乱的情况,您在 NeonDB 中创建一个具有 0.5GB 存储空间的免费数据库,然后想,“很好,我将使用免费层进行测试”。然后,几个小时后,收到了致命的电子邮件:“您的存储空间已被消耗!”。哇,你什么意思?连椅子都没有热起来!答案…

    2025年3月7日
    200
  • js如何存储数据

    JavaScript 提供以下数据存储方法:内置数据类型(例如数字和字符串)对象(用于存储键值对)数组(用于存储有序元素)localStorage(永久存储,浏览器会话之间可用)sessionStorage(临时存储,仅在浏览器会话期间可用…

    2025年3月7日
    200
  • js如何连接数据库

    JavaScript 连接数据库可用于构建交互式 Web 应用程序。步骤包括:选择数据库技术(如 MySQL)安装驱动程序(如 mysql2)建立连接执行查询处理结果关闭连接 如何使用 JavaScript 连接数据库 简介 使用 Java…

    2025年3月7日
    200
  • typescript入门到系统实战教程分享

    TypeScript 教程从入门到高级,涵盖安装、配置、编写和编译基本代码,并深入介绍类、泛型、模块化等概念。实战教程指导构建 CRUD API、单页面应用程序和命令行工具,同时提供使用类型检查器和探索 TypeScript 生态系统的提示…

    2025年3月7日
    200
  • 关于猫鼬的常见误解

    关于猫鼬的常见神话:逐步解释。 以下是关于猫鼬的一些常见误解以及澄清每个误解的解释: 误区 1:“Mongoose 不允许完全访问 MongoDB 的功能” 现实: 有些人认为使用 Mongoose 限制了对 MongoDB 全部功能的访问…

    2025年3月7日
    200
  • 如何免费在线将 JSON 转换为图表

    json 是一种广泛使用的数据交换格式,尤其是在 web 开发和 api 中。然而,一眼理解复杂的 json 结构可能具有挑战性。将 json 数据可视化为图表可以使其更易于理解和使用,特别是对于开发人员、数据分析师和项目经理而言。 在这篇…

    2025年3月7日
    200
  • Conclusion of My Nodejs Journey and a Sneak Peek into My Upcoming AWS Series

    当我结束这个有关 Node.js 的综合系列时,我对整个旅程中的学习经历和成长充满感激。 在过去的几个月里,我探索了 Node.js 的各个方面,深入研究了基本概念和高级技术。 这是我们一起讨论的主题的回顾,我希望这对初学者和那些希望提高后…

    2025年3月7日
    200

发表回复

登录后才能评论