MongoDB와의 연동을 위한 Node.js 백엔드 구축
웹 개발에 있어서 데이터베이스와의 연동은 필수적인 과정 중 하나입니다. 오늘은 Node.js 환경에서 MongoDB 데이터베이스와 어떻게 연동하는지 알아보겠습니다. MongoDB는 유연하고 확장성이 뛰어난 NoSQL 데이터베이스로, 다양한 형태의 데이터를 저장하고 관리할 수 있습니다.
시작하기 전에
Node.js와 MongoDB가 설치되어 있어야 합니다. 아직 설치하지 않았다면, 각각의 공식 웹사이트에서 설치 방법을 확인할 수 있습니다.
프로젝트 설정
먼저, 새 Node.js 프로젝트를 시작합시다. 터미널을 열고 다음 명령어를 입력하여 새 프로젝트 폴더를 생성하고, 그 폴더로 이동합니다.
mkdir my-mongo-project
cd my-mongo-project
그 다음, Node.js 프로젝트를 초기화합니다.
npm init -y
이제 MongoDB와 연동하기 위해 필요한 mongoose
패키지를 설치합니다. mongoose
는 MongoDB를 위한 Node.js의 ODM(Object Data Modeling) 라이브러리입니다.
npm install mongoose
MongoDB 연동
mongoose
를 사용하여 MongoDB에 연결하는 코드를 작성해보겠습니다. 프로젝트 폴더 안에 index.js
파일을 생성하고, 다음 코드를 입력합니다.
const mongoose = require('mongoose');
// MongoDB 연결 문자열
const dbURI = 'mongodb://localhost:27017/myDatabase';
// MongoDB에 연결
mongoose.connect(dbURI, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('MongoDB에 성공적으로 연결되었습니다.'))
.catch(err => console.error('MongoDB 연결에 실패했습니다:', err));
이 코드는 mongoose
라이브러리를 사용하여 MongoDB 데이터베이스에 연결합니다. myDatabase
는 연결할 데이터베이스의 이름입니다. 로컬 환경에서 작업 중이라면, MongoDB가 설치된 기본 주소인 localhost:27017
을 사용할 수 있습니다. 실제 애플리케이션에서는 이 주소가 변경될 수 있으니, 해당 환경에 맞게 수정해야 합니다.
간단한 데이터 모델 생성
MongoDB에 데이터를 저장하고 조회하기 위해, 데이터의 구조를 정의하는 모델을 생성해야 합니다. User
라는 간단한 모델을 예로 들어보겠습니다. 프로젝트 폴더 안에 User.js
파일을 생성하고, 다음 코드를 입력합니다.
const mongoose = require('mongoose');
// User 스키마 정의
const userSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
email: {
type: String,
required: true
}
});
// User 모델 생성
const User = mongoose.model('User', userSchema);
module.exports = User;
이 코드는 사용자의 이름과 이메일을 필드로 갖는 User
모델을 정의합니다. mongoose.Schema
를 사용하여 데이터 구조를 정의하고, mongoose.model
로 모델을 생성합니다.
데이터 생성 및 조회
마지막으로, 생성한 User
모델을 사용하여 데이터를 생성하고 조회하는 예제를 살펴보겠습니다. index.js
파일에 다음 코드를 추가합니다.
const User = require('./User');
// 새 사용자 생성
const newUser = new User({
name: 'John Doe',
email: 'john@example.com'
});
// 데이터베이스에 저장
newUser.save()
.then(user => console.log('새 사용자가 생성되었습니다:', user))
.catch(err => console.error('사용자 생성 실패:', err));
// 모든 사용자 조회
User.find()
.then(users => console.log('모든 사용자:', users))
.catch(err => console.error('사용자 조회 실패:', err));
이 코드는 새 User
인스턴스를 생성하고, .save()
메서드를 사용하여 MongoDB 데이터베이스에 저장합니다. 또한, User.find()
를 사용하여 데이터베이스에 저장된 모든 사용자를 조회합니다.
이제 기본적인 MongoDB와 Node.js의 연동 방법을 알아보았습니다. 이 지식을 바탕으로 더 복잡한 애플리케이션을 구축할 수 있을 것입니다. Happy coding!