CRUD 작업(생성, 읽기, 업데이트, 삭제)은 데이터 관리가 필요한 모든 애플리케이션의 기본입니다. 이러한 작업은 데이터베이스와 효과적으로 상호 작용하는 데 필요한 기본 기능을 제공하므로 개발자가 이러한 작업을 이해하는 것이 중요합니다. 이 블로그 게시물에서는 CRUD 작업이 무엇인지, MERN 스택(MongoDB, Express, React 및 Node.js)을 사용하여 이를 구현하는 방법을 Yoga Pose Library 앱에 통합하는 방법을 보여 드리겠습니다.
CRUD는 다음을 의미하는 약어입니다:
이러한 작업은 데이터 조작과 관련된 대부분의 웹 애플리케이션의 백본을 형성합니다. CRUD 작업을 구현하면 사용자가 데이터와 효과적으로 상호 작용하고 관리할 수 있습니다.
CRUD 작업 구현을 시작하기 위해 요가 자세를 저장할 MongoDB 데이터베이스를 설정했습니다. 동일한 작업을 수행하는 방법은 다음과 같습니다.
MongoDB에 연결하기 위해 MongoDB 및 Node.js용 ODM(객체 데이터 모델링) 라이브러리인 Mongoose를 사용했습니다. 내 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));
다음으로 요가 자세를 표현하기 위해 몽구스 모델을 만들었습니다. 이 모델을 사용하면 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);
MongoDB 연결 및 모델 설정을 통해 Express 서버에서 CRUD 작업을 구현했습니다.
사용자가 새로운 요가 자세를 추가할 수 있도록 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' }); } });
이 경로에서는 요청 본문에 전송된 데이터를 사용하여 새 포즈가 생성되고 데이터베이스에 저장됩니다.
읽기 작업을 위해 모든 포즈를 검색하는 경로를 만들었습니다.
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 응답으로 다시 보냅니다.
사용자가 기존 포즈를 업데이트할 수 있도록 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를 기반으로 특정 포즈를 업데이트하고 업데이트된 포즈를 반환합니다.
마지막으로 삭제 작업을 구현했습니다.
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 작업을 구현한 후 Postman을 사용하여 각 엔드포인트를 테스트했습니다. 이 테스트를 통해 내 경로가 올바르게 작동하고 데이터가 예상대로 관리되고 있는지 확인했습니다.
다음 본문을 사용하여 /api/poses에 POST 요청을 보냅니다.
{
"name": "전사 I",
"description": "다리와 코어를 강화하는 서 있는 자세입니다."
}
/api/poses에 GET 요청을 보냅니다.
업데이트된 데이터를 사용하여 /api/poses/:id에 PUT 요청을 보냅니다.
/api/poses/:id에 DELETE 요청을 보냅니다.
CRUD 작업은 데이터 관리와 관련된 모든 애플리케이션에 필수적입니다. MERN 스택을 사용하여 이러한 작업을 요가 포즈 라이브러리 앱에 통합함으로써 사용자가 요가 포즈와 효과적으로 상호 작용할 수 있는 강력한 애플리케이션을 만들었습니다. CRUD 작업을 이해하고 구현하면 개발 기술이 크게 향상되고 동적 웹 애플리케이션을 만들 수 있습니다. 계속해서 앱을 개선하면서 더 많은 기능을 탐색하고 사용자 경험을 향상할 수 있기를 기대합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3