Responsive Advertisement

Node.js에서 MongoDB에 데이터 삽입하기: Insert 가이드

MongoDB는 NoSQL 기반의 데이터베이스로, JSON 형식의 데이터를 유연하게 저장하고 관리할 수 있습니다. 특히 Node.js와 함께 사용하면 손쉽게 데이터를 삽입하고 관리할 수 있습니다. 이번 글에서는 Node.jsMongoDB를 연동하여 데이터를 삽입하는 방법을 단계별로 설명하겠습니다.

Node.js와 MongoDB 연동하기

MongoDB에 데이터를 삽입하려면 먼저 Node.js와 MongoDB를 연동해야 합니다. MongoDB와 Node.js 간의 통신을 위해 mongodb 패키지를 설치해야 합니다.

1. MongoDB 설치 및 설정

MongoDB는 로컬 환경이나 클라우드 환경에서 사용할 수 있습니다. 로컬에서 MongoDB를 설치하거나, 클라우드 기반의 MongoDB Atlas를 사용할 수 있습니다.

2. Node.js 프로젝트 설정

MongoDB와 Node.js를 연결하기 위해, 먼저 Node.js 프로젝트를 초기화하고 필요한 패키지를 설치해야 합니다.

$ mkdir myapp
$ cd myapp
$ npm init -y
$ npm install mongodb

위 명령어는 Node.js 프로젝트를 초기화하고, MongoDB와의 통신을 위한 mongodb 패키지를 설치합니다.

3. MongoDB 연결 설정

다음은 MongoDB 서버에 연결하는 기본적인 코드입니다. MongoClient를 사용하여 Node.js 애플리케이션과 MongoDB를 연결합니다.

// app.js

const { MongoClient } = require('mongodb');

// MongoDB 연결 URL
const url = 'mongodb://localhost:27017'; // 로컬 MongoDB URL
const client = new MongoClient(url);

// 사용할 데이터베이스 이름
const dbName = 'myDatabase';

async function main() {
    try {
        // MongoDB 연결
        await client.connect();
        console.log('MongoDB에 성공적으로 연결되었습니다.');

        // 데이터베이스 선택
        const db = client.db(dbName);
        console.log(`데이터베이스 ${dbName} 선택됨.`);
    } catch (error) {
        console.error('MongoDB 연결 중 오류 발생:', error);
    } finally {
        // MongoDB 연결 종료
        await client.close();
        console.log('MongoDB 연결이 종료되었습니다.');
    }
}

main();

위 코드는 MongoDB 서버에 연결하고, 데이터베이스를 선택하는 과정을 보여줍니다. 이제 데이터를 삽입할 준비가 되었습니다.

MongoDB에 데이터 삽입하기

MongoDB에 데이터를 삽입하는 방법은 매우 간단합니다. 데이터를 삽입하려면 insertOne() 또는 insertMany() 메서드를 사용할 수 있습니다.

1. 단일 데이터 삽입: insertOne()

insertOne() 메서드는 하나의 문서를 삽입할 때 사용됩니다. 예를 들어, 사용자 정보를 users 컬렉션에 삽입하는 코드는 다음과 같습니다.

// 단일 데이터 삽입 예시

async function insertData() {
    try {
        await client.connect();
        console.log('MongoDB에 성공적으로 연결되었습니다.');

        const db = client.db(dbName);
        const collection = db.collection('users');

        // 단일 사용자 데이터 삽입
        const result = await collection.insertOne({ name: 'John Doe', age: 30 });
        console.log('데이터 삽입 성공:', result.insertedId);
    } catch (error) {
        console.error('데이터 삽입 중 오류 발생:', error);
    } finally {
        await client.close();
        console.log('MongoDB 연결이 종료되었습니다.');
    }
}

insertData();

위 코드는 users라는 컬렉션에 John Doe라는 사용자를 삽입하는 예시입니다. insertOne() 메서드를 사용해 JSON 형식의 데이터를 MongoDB에 저장할 수 있습니다.

2. 여러 데이터 삽입: insertMany()

여러 개의 데이터를 한 번에 삽입하려면 insertMany() 메서드를 사용할 수 있습니다. 다음은 여러 사용자 데이터를 한 번에 삽입하는 방법입니다.

// 다중 데이터 삽입 예시

async function insertMultipleData() {
    try {
        await client.connect();
        console.log('MongoDB에 성공적으로 연결되었습니다.');

        const db = client.db(dbName);
        const collection = db.collection('users');

        // 여러 사용자 데이터 삽입
        const result = await collection.insertMany([
            { name: 'Alice', age: 25 },
            { name: 'Bob', age: 28 },
            { name: 'Charlie', age: 32 }
        ]);
        console.log('데이터 삽입 성공:', result.insertedCount, '개의 문서가 삽입되었습니다.');
    } catch (error) {
        console.error('데이터 삽입 중 오류 발생:', error);
    } finally {
        await client.close();
        console.log('MongoDB 연결이 종료되었습니다.');
    }
}

insertMultipleData();

위 코드는 insertMany() 메서드를 사용해 여러 개의 문서를 한 번에 삽입하는 예시입니다. insertedCount를 통해 몇 개의 문서가 성공적으로 삽입되었는지 확인할 수 있습니다.

MongoDB 데이터 삽입 시 유의사항

MongoDB에 데이터를 삽입할 때 몇 가지 유의사항이 있습니다.

  • 자동 생성되는 _id 필드: MongoDB는 기본적으로 각 문서에 고유한 _id 필드를 자동으로 생성합니다. 이를 통해 각 문서를 고유하게 식별할 수 있습니다.
  • 유연한 스키마: MongoDB는 유연한 스키마를 지원하므로, 삽입할 데이터의 구조를 미리 정의할 필요가 없습니다. 같은 컬렉션에 서로 다른 구조의 문서를 삽입할 수 있습니다.

MongoDB 연결 종료

작업이 끝난 후에는 MongoDB 연결을 안전하게 종료해야 합니다. client.close() 메서드를 사용해 연결을 종료할 수 있습니다.

// MongoDB 연결 종료
await client.close();
console.log('MongoDB 연결이 종료되었습니다.');

결론

Node.js에서 MongoDB에 데이터를 삽입하는 방법을 알아보았습니다. MongoDB는 유연한 스키마 덕분에 데이터를 손쉽게 저장하고 관리할 수 있으며, insertOne()insertMany()를 통해 데이터를 효율적으로 삽입할 수 있습니다. 이 가이드를 바탕으로 MongoDB를 활용해 더욱 강력한 애플리케이션을 개발해보세요!

댓글 쓰기