Node.js - MongoDB 시작하기

안녕하세요, 미래의 데이터베이스 마법사 여러분! 오늘 우리는 Node.js와 MongoDB의 세계로 흥미로운 여정을 떠납니다. 여러분의 친절한 이웃 컴퓨터 교사로서 저는 이 모험을 단계별로 안내해드리겠습니다. 프로그래밍에 처음이신 분들이라면 걱정 마세요 - 우리는 기본부터 시작하여 점진적으로 학습하겠습니다. 그럼 가상의 안전帽을 쓰고, 시작해봅시다!

Node.js - MongoDB Get Started

MongoDB는 무엇인가요?

코딩을 시작하기 전에 MongoDB에 대해 이해해보겠습니다. 상상해보세요, 만화책 수집을 정리하는 일. 마블, DC, 인디 만화 책들을 다른 상자에 담아둘 수 있습니다. MongoDB는 데이터를 위한 거대한 디지털 만화책 정리자입니다. NoSQL 데이터베이스인 만큼 유연하여 엄격한 구조 없이도 다양한 데이터를 처리할 수 있습니다.

설치

Step 1: Node.js 설치

먼저 Node.js를 설치해야 합니다. 프로젝트를 시작하기 전에 작업bench를 설정하는 것과 같습니다.

  1. 공식 Node.js 웹사이트(https://nodejs.org/)로 이동합니다.
  2. 운영 체제에 맞는 버전을 다운로드합니다.
  3. 설치 완료를 따라갑니다.

Node.js가 제대로 설치되었는지 확인하려면 터미널이나 명령 프롬프트를 엽니다:

node --version

버전 번호가 표시되면 설치가 성공했습니다!

Step 2: MongoDB 설치

이제 MongoDB를 설치해보겠습니다. 우리의 디지털 만화책 정리자입니다.

  1. MongoDB 다운로드 페이지(https://www.mongodb.com/try/download/community)를 방문합니다.
  2. 운영 체제를 선택하고 설치 프로그램을 다운로드합니다.
  3. 설치 프로그램을 실행하고 안내에 따라 설치합니다.

설치 후 시스템의 PATH에 MongoDB를 추가해야 할 수 있습니다. 걱정 마세요, 그리 어렵지 않습니다. 컴퓨터가 MongoDB를 찾을 수 있도록 알려주는 것입니다.

MongoDB 드라이버

이제 도구가 준비되었으니, Node.js가 MongoDB와 소통할 수 있는 방법을 알아보겠습니다. MongoDB 드라이버는 Node.js와 MongoDB 간의 통역사입니다.

MongoDB 드라이버 설치

터미널을 엽고, 프로젝트 폴더로 이동한 후 다음 명령어를 실행합니다:

npm init -y
npm install mongodb

첫 번째 명령어는 프로젝트를 설정하고, 두 번째 명령어는 MongoDB 드라이버를 설치합니다. 도구 상자를 풀고 올바른 도구를 확인하는 것과 같습니다.

MongoDB 연결

좋아요, 이제 데이터베이스에 연결하는 흥미로운 부분입니다. 이를 위해 코드를 작성해봅시다.

프로젝트 폴더에 새 파일 app.js를 생성하고 다음 코드를 추가합니다:

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

// Connection URL
const url = 'mongodb://localhost:27017';

// Database Name
const dbName = 'myProject';

// Create a new MongoClient
const client = new MongoClient(url);

// Use connect method to connect to the Server
async function connect() {
try {
await client.connect();
console.log("Connected successfully to server");

const db = client.db(dbName);

// Perform database operations here

} catch (err) {
console.error("Error connecting to the database", err);
} finally {
await client.close();
}
}

connect();

이를 단계별로 설명하겠습니다:

  1. MongoClient을 MongoDB 드라이버에서 가져옵니다.
  2. MongoDB 서버가 실행 중인 URL을 지정합니다. localhost:27017은 로컬 설치의 기본입니다.
  3. 데이터베이스 이름을 지정합니다.
  4. URL을 사용하여 새로운 MongoClient을 생성합니다.
  5. async 함수 connect()를 정의합니다. async 함수는 작업이 완료될 때까지 기다리는 친구와 같습니다.
  6. connect() 내부에서 try/catch/finally를 사용하여 잠재적인 오류를 처리합니다.
  7. await client.connect()를 사용하여 서버에 연결합니다. await 키워드는 "이 작업이 완료되기를 기다리자"와 같습니다.
  8. 연결이 성공하면 메시지를 로그하고 데이터베이스에 대한 참조를 가져옵니다.
  9. 마지막으로, finally 블록 내에서 연결을 닫습니다.

이 코드를 실행하려면 파일을 저장하고 터미널에서 node app.js를 입력합니다. 모든 것이 올바르게 설정되어 있다면 "Connected successfully to server" 메시지가 터미널에 표시됩니다.

축하합니다! Node.js를 사용하여 MongoDB에 첫 번째 연결을 성공적으로 수행했습니다. 첫 번째 전화를 걸는 것처럼 흥미롭지 않나요?

데이터베이스 연산 수행

이제 연결이 되었으니, 데이터베이스에서 작업을 수행해보겠습니다. 우선 문서를 콜렉션에 추가하는 간단한 연산을 추가하겠습니다.

app.js 파일을 업데이트합니다:

// ... (이전 코드는 동일하게 유지)

async function connect() {
try {
await client.connect();
console.log("Connected successfully to server");

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

// Insert a document
const result = await collection.insertOne({
name: 'Spider-Man',
realName: 'Peter Parker',
powers: ['web-slinging', 'spider-sense', 'superhuman strength']
});

console.log(`Inserted document with _id: ${result.insertedId}`);

} catch (err) {
console.error("Error performing database operation", err);
} finally {
await client.close();
}
}

connect();

새로운 내용을 설명하겠습니다:

  1. 'superheroes' 콜렉션에 대한 참조를 생성합니다.
  2. insertOne()을 사용하여 콜렉션에 새로운 문서를 추가합니다.
  3. 추가된 문서의 _id를 로그합니다.

이 스크립트를 다시 실행하여 node app.js를 입력합니다. 문서가 추가되었음을 확인하는 메시지가 터미널에 표시되어야 합니다.

데이터检索

이제 추가한 문서를检索해보겠습니다:

// ... (이전 코드는 동일하게 유지)

async function connect() {
try {
await client.connect();
console.log("Connected successfully to server");

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

// Insert a document
const insertResult = await collection.insertOne({
name: 'Spider-Man',
realName: 'Peter Parker',
powers: ['web-slinging', 'spider-sense', 'superhuman strength']
});

console.log(`Inserted document with _id: ${insertResult.insertedId}`);

// Find the document we just inserted
const findResult = await collection.findOne({ name: 'Spider-Man' });
console.log("Found document:", findResult);

} catch (err) {
console.error("Error performing database operation", err);
} finally {
await client.close();
}
}

connect();

이제 findOne()을 사용하여 추가한 문서를检索합니다. 데이터베이스에 "Spider-Man"을 요청하는 것과 같습니다.

이 스크립트를最后一次 실행하여 node app.js를 입력합니다. 터미널에 추가된 문서와 함께 찾은 문서가 표시되어야 합니다.

결론

축하합니다! Node.js와 MongoDB의 세계로 첫 걸음을 뗐습니다. 설치, 연결, 기본 연산을 다루었습니다. 데이터베이스를 다루는 것은 새로운 슈퍼파워를 배우는 것과 같습니다. 연습을 통해 프로가 될 것입니다!

다음은 사용한 메서드의 간략한 요약입니다:

메서드 설명
MongoClient.connect() MongoDB 서버에 연결합니다
client.db() 데이터베이스에 대한 참조를 가져옵니다
db.collection() 콜렉션에 대한 참조를 가져옵니다
collection.insertOne() 콜렉션에 단일 문서를 추가합니다
collection.findOne() 콜렉션에서 단일 문서를检索합니다

연습을 계속하고, 호기심을 유지하십시오. 곧 Node.js와 MongoDB를 사용하여 놀라운 애플리케이션을 만들 수 있을 것입니다. 행복한 코딩, 미래의 데이터베이스 슈퍼 헴어!

Credits: Image by storyset