MongoDB와 Node.js를 연동하는 방법 🌐
웹 개발을 배우는 여정에서 데이터베이스는 중요한 역할을 합니다. 오늘은 MongoDB, 즉 문서 지향 데이터베이스를 Node.js 애플리케이션과 연동하는 방법을 알아보겠습니다. 이 과정을 통해 데이터를 저장하고 관리하는 방법을 배울 수 있습니다.
시작하기 전에
MongoDB와 Node.js를 연동하기 전에, 먼저 몇 가지 준비 사항이 있습니다.
- Node.js가 설치되어 있어야 합니다.
- MongoDB 계정이 필요합니다. MongoDB Atlas를 사용하여 클라우드에서 무료로 데이터베이스를 호스팅할 수 있습니다.
- 좋아하는 코드 에디터를 준비하세요.
첫 번째 단계: 프로젝트 설정
Node.js 프로젝트를 시작하기 위해, 터미널에서 다음 명령어를 입력합니다:
mkdir my-mongo-project
cd my-mongo-project
npm init -y
이 명령어는 새 프로젝트 폴더를 만들고, 그 안에 Node.js 프로젝트를 초기화합니다.
MongoDB 연결하기
MongoDB를 Node.js와 연동하기 위해, mongoose
라는 라이브러리를 사용할 것입니다. Mongoose를 설치하려면, 프로젝트 폴더에서 다음 명령어를 실행합니다:
npm install mongoose
이제, MongoDB 데이터베이스에 연결할 수 있도록 코드를 작성해봅시다. index.js
파일을 생성하고, 다음 코드를 입력하세요:
const mongoose = require('mongoose');
// MongoDB 연결 문자열을 여기에 입력하세요.
const mongoDB = 'your_mongodb_connection_string';
mongoose.connect(mongoDB, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('MongoDB에 성공적으로 연결되었습니다!'))
.catch(err => console.error('MongoDB 연결에 실패했습니다:', err));
your_mongodb_connection_string
부분을 MongoDB Atlas에서 제공하는 연결 문자열로 교체해야 합니다. 이 문자열은 MongoDB 계정에서 찾을 수 있습니다.
간단한 데이터 모델 생성
MongoDB에 데이터를 저장하기 전에, 데이터의 구조를 정의해야 합니다. Mongoose를 사용하여 모델을 생성해봅시다. User.js
라는 새 파일을 만들고, 다음 코드를 입력하세요:
const mongoose = require('mongoose');
const UserSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
age: {
type: Number,
required: true
},
email: {
type: String,
required: true
}
});
module.exports = mongoose.model('User', UserSchema);
이 코드는 사용자의 이름, 나이, 이메일을 저장하는 간단한 모델을 생성합니다.
데이터 저장하기
이제 실제로 MongoDB 데이터베이스에 데이터를 저장해봅시다. index.js
파일로 돌아가서 다음 코드를 추가하세요:
const User = require('./User');
const newUser = new User({
name: 'John Doe',
age: 30,
email: 'john@example.com'
});
newUser.save()
.then(user => console.log('사용자가 저장되었습니다:', user))
.catch(err => console.error('사용자 저장에 실패했습니다:', err));
이 코드는 새 사용자를 생성하고, MongoDB 데이터베이스에 저장합니다.
마무리
축하합니다! MongoDB와 Node.js를 성공적으로 연동하여 데이터를 저장하는 방법을 배웠습니다. 이제 이 기초를 바탕으로 더 복잡한 애플리케이션을 만들어볼 수 있습니다. 데이터베이스와의 상호작용은 웹 개발의 중요한 부분이며, 이제 여러분도 그 첫걸음을 뗐습니다. 계속해서 연습하고, 새로운 것을 배우며, 멋진 프로젝트를 만들어보세요!