MongoDB는 개발자가 확장 가능하고 유연한 애플리케이션을 만들기 위해 널리 사용하는 가장 인기 있는 NoSQL 데이터베이스 중 하나입니다. 백엔드 개발을 위해 널리 채택되는 플랫폼인 Node.js와 함께 효율적인 API와 강력한 애플리케이션을 구축할 수 있습니다. 이번 블로그 게시물에서는 설치부터 기본 CRUD(생성, 읽기, 업데이트, 삭제) 작업 수행까지 Node.js로 MongoDB를 구성하는 방법을 살펴보겠습니다.
MongoDB는 문서 중심의 NoSQL 데이터베이스입니다. MongoDB는 관계형 데이터베이스처럼 테이블에 데이터를 저장하는 대신 BSON(Binary JSON)이라고 하는 JSON 형식으로 문서를 저장합니다. 이는 데이터 모델링에 유연성을 제공하고 수평적 확장성을 촉진합니다.
우선 MongoDB를 설치해야 합니다. 운영 체제에 따라 공식 MongoDB 설치 웹사이트의 지침을 따르세요.
프로젝트를 위한 새 디렉터리를 만들고 Node.js 프로젝트를 시작하세요.
mkdir mongo-node-app cd mongo-node-app npm init -y
다음 단계는 Node.js용 공식 MongoDB 드라이버를 설치하는 것입니다.
npm install 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();
컬렉션에 문서를 추가하려면 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}`); }
컬렉션에 있는 문서를 검색하려면 find() 또는 findOne()을 사용합니다.
async function readDocuments(db) { const collection = db.collection("users"); const users = await collection.find({ age: { $gte: 18 } }).toArray(); console.log(users); }
문서를 업데이트하려면 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}`); }
문서를 제거하려면 deleteOne() 또는 deleteMany()를 사용합니다.
async function deleteDocument(db) { const collection = db.collection("users"); const result = await collection.deleteOne({ name: "Lucas" }); console.log(`Documentos deletados: ${result.deletedCount}`); }
대규모 프로젝트의 경우 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();
MongoDB와 Node.js는 확장 가능한 API와 최신 웹 애플리케이션을 구축하기 위한 강력한 조합을 형성합니다. MongoDB의 유연성과 Node.js의 JavaScript 환경을 사용하면 데이터를 빠르고 효율적으로 조작할 수 있습니다. 이 가이드는 초기 구성부터 CRUD 작업까지 MongoDB를 Node.js 프로젝트에 통합하기 위한 견고한 기반을 제공합니다.
주제에 대해 더 자세히 알아보고 싶다면 MongoDB의 인덱싱, 집계, 복제와 같은 추가 기능을 살펴보세요.
최종 팁:
이 가이드가 MongoDB를 Node.js와 통합하는 데 도움이 되었기를 바랍니다!
위 내용은 Node.js와 MongoDB 통합 - 전체 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!