> 웹 프론트엔드 > JS 튜토리얼 > Node.js와 MongoDB 통합 - 전체 가이드

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

Patricia Arquette
풀어 주다: 2024-10-13 06:19:02
원래의
412명이 탐색했습니다.

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

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


1. 몽고DB란 무엇인가요?

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에 연결

이제 MongoDB에 대한 연결을 구성하기 위해 index.js 파일을 생성합니다. 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: "lucas@example.com"
    };

    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: "lucas.new@example.com" } }
    );

    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와 통합하는 데 도움이 되었기를 바랍니다!

위 내용은 Node.js와 MongoDB 통합 - 전체 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿