"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Node.js와 MongoDB 통합 - 전체 가이드

Node.js와 MongoDB 통합 - 전체 가이드

2024-11-07에 게시됨
검색:873

Integração do MongoDB com Node.js – Um Guia Completo

MongoDB는 개발자가 확장 가능하고 유연한 애플리케이션을 만들기 위해 널리 사용하는 가장 인기 있는 NoSQL 데이터베이스 중 하나입니다. 백엔드 개발을 위해 널리 채택되는 플랫폼인 Node.js와 함께 효율적인 API와 강력한 애플리케이션을 구축할 수 있습니다. 이 블로그 게시물에서는 설치부터 기본 CRUD(생성, 읽기, 업데이트, 삭제) 작업 수행까지 Node.js로 MongoDB를 구성하는 방법을 살펴보겠습니다.


1. MongoDB란 무엇인가요?

MongoDB는 문서 지향 NoSQL 데이터베이스입니다. MongoDB는 관계형 데이터베이스처럼 테이블에 데이터를 저장하는 대신 BSON(Binary JSON)이라고 하는 JSON 형식으로 문서를 저장합니다. 이는 데이터 모델링에 유연성을 제공하고 수평적 확장성을 촉진합니다.

2. Node.js와 함께 MongoDB를 사용하는 이유는 무엇인가요?

  • 기본 JSON: Node.js는 JavaScript를 사용하고 MongoDB는 데이터를 JSON 형식으로 저장합니다. 이 조합을 통해 원활하고 효율적인 통합이 가능합니다.
  • 확장성: MongoDB는 확장성이 뛰어나고 빠르게 성장해야 하는 최신 애플리케이션에 이상적입니다.
  • 성능: 문서 구조를 갖춘 MongoDB는 빠른 읽기, 쓰기 및 동적 쿼리에 최적화되어 있습니다.
  • 커뮤니티: MongoDB와 Node.js 모두 활발한 커뮤니티를 갖고 있어 풍부한 리소스와 빈번한 업데이트를 보장합니다.

3. Node.js로 MongoDB 구성

1단계: MongoDB 설치

우선 MongoDB를 설치해야 합니다. 운영 체제에 따라 공식 MongoDB 설치 웹사이트의 지침을 따르세요.

2단계: Node.js 프로젝트 만들기

프로젝트에 대한 새 디렉터리를 만들고 Node.js 프로젝트를 시작합니다.

mkdir mongo-node-app
cd mongo-node-app
npm init -y
3단계: MongoDB 드라이버 설치

다음 단계는 Node.js용 공식 MongoDB 드라이버를 설치하는 것입니다:

npm install mongodb
4단계: MongoDB에 연결

이제 index.js 파일을 생성하여 MongoDB에 대한 연결을 구성합니다. MongoClient를 사용하여 데이터베이스에 연결하겠습니다.

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

async function connectDB() {
    const uri = "mongodb://localhost:27017"; // URL do MongoDB local
    const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });

    try {
        await client.connect();
        console.log("Conectado ao MongoDB");

        const db = client.db("mydatabase");
        return db;
    } catch (err) {
        console.error("Erro ao conectar ao MongoDB", err);
    } finally {
        // Fechar a conexão
        await client.close();
    }
}

connectDB();

4. MongoDB를 사용한 CRUD 작업

1. 만들기

컬렉션에 문서를 추가하려면 insertOne() 또는 insertMany() 메서드를 사용할 수 있습니다.

async function createDocument(db) {
    const collection = db.collection("users");

    const newUser = {
        name: "Lucas",
        age: 25,
        email: "[email protected]"
    };

    const result = await collection.insertOne(newUser);
    console.log(`Documento inserido com o ID: ${result.insertedId}`);
}
2. 읽기

컬렉션에 있는 문서를 검색하려면 find() 또는 findOne()을 사용합니다.

async function readDocuments(db) {
    const collection = db.collection("users");

    const users = await collection.find({ age: { $gte: 18 } }).toArray();
    console.log(users);
}
3. 업데이트

문서를 업데이트하려면 updateOne() 또는 updateMany()를 사용합니다.

async function updateDocument(db) {
    const collection = db.collection("users");

    const result = await collection.updateOne(
        { name: "Lucas" },
        { $set: { email: "[email protected]" } }
    );

    console.log(`Documentos atualizados: ${result.modifiedCount}`);
}
4. 삭제

문서를 제거하려면 deleteOne() 또는 deleteMany()를 사용합니다.

async function deleteDocument(db) {
    const collection = db.collection("users");

    const result = await collection.deleteOne({ name: "Lucas" });
    console.log(`Documentos deletados: ${result.deletedCount}`);
}

5. 프로젝트 구조 개선

대규모 프로젝트의 경우 MongoDB 연결 및 CRUD 작업을 모듈화하는 것이 좋습니다. 예를 들어, 각 엔터티에 대해 별도의 연결 모듈과 전용 서비스를 가질 수 있습니다.

모듈형 연결 예
// db.js
const { MongoClient } = require('mongodb');

const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });

async function connectDB() {
    await client.connect();
    const db = client.db("mydatabase");
    return db;
}

module.exports = { connectDB };
연결 모듈 사용
// index.js
const { connectDB } = require('./db');

async function main() {
    const db = await connectDB();

    // Executar operações de CRUD
    await createDocument(db);
    await readDocuments(db);
    await updateDocument(db);
    await deleteDocument(db);
}

main();

6. 결론

MongoDB와 Node.js는 확장 가능한 API와 최신 웹 애플리케이션을 구축하기 위한 강력한 조합을 형성합니다. MongoDB의 유연성과 Node.js의 JavaScript 환경을 사용하면 데이터를 빠르고 효율적으로 조작할 수 있습니다. 이 가이드는 초기 구성부터 CRUD 작업까지 MongoDB를 Node.js 프로젝트에 통합하기 위한 견고한 기반을 제공합니다.

주제에 대해 더 자세히 알아보고 싶다면 MongoDB의 인덱싱, 집계, 복제와 같은 추가 기능을 살펴보세요.


최종 팁:

  • Mongoose: 공식 드라이버는 효율적이지만 Mongoose와 같은 라이브러리는 스키마와 유효성 검사를 통해 보다 친숙한 추상화를 제공합니다.
  • 확장성: MongoDB로 애플리케이션을 확장하려면 프로덕션 환경에서 분할 및 복제를 고려하세요.

이 가이드가 MongoDB를 Node.js와 통합하는 데 도움이 되었기를 바랍니다!

릴리스 선언문 이 기사는 https://dev.to/lucaspereiradesouzat/integracao-do-mongodb-com-nodejs-um-guia-completo-39mk?1에 복제되어 있습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다. 그것
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3