본문 바로가기
STUDY/MongoDB

[6-1] Node.js에서 MongoDB 사용하기

by Y.Choi 2023. 4. 7.
728x90
반응형

몽고DB(MongoDB)는 NoSQL 데이터베이스로, JSON과 비슷한 형태의 문서를 사용하여 데이터를 저장하고 검색할 수 있습니다.

 

Node.js에서 MongoDB를 사용하기 위해서는 Node.js용 MongoDB를 설치해야 합니다.  npm 패키지 매니저를 통해 설치할 수 있습니다.

 

 

> MongoDB 설치하기

npm install mongodb

 

 

> MongoDB 연결

const { MongoClient } = require('mongodb');
const uri = 'mongodb://localhost:27017/myapp';

const client = new MongoClient(uri);

async function connect() {
  try {
    await client.connect();
    console.log('Connected to MongoDB server');
  } catch (error) {
    console.error(error);
  } finally {
    await client.close();
    console.log('Disconnected from MongoDB server');
  }
}

connect();

 

const client = new MongoClient(uri);

MongoClient 생성자를 사용하여 MongoDB 클라이언트를 만듭니다. uri 매개변수는 연결할 MongoDB 서버의 URI 문자열입니다.

async function connect() { ... }

async/await 문법을 사용하여 connect()라는 이름의 async 함수를 만드는 것입니다. async/await을 사용하면 콜백 함수 대신 비동기적으로 실행되는 코드를 작성할 수 있습니다.

await client.connect(); 

MongoDB 서버에 연결하고 연결이 성공적으로 이루어지면 console.log('Connected to MongoDB server')를 출력합니다. 이때, await 키워드는 client.connect() 메서드가 완료될 때까지 다음 코드를 실행하지 않도록 합니다.

catch (error) { console.error(error); } 

try 블록에서 발생하는 모든 예외를 캐치하고 콘솔에 에러 메시지를 출력합니다.

await client.close();

MongoDB 서버와의 연결을 끊습니다. finally 블록 안의 코드는 try 블록이 성공하든 실패하든 항상 실행됩니다.

connect(); 함수는 애플리케이션이 시작될 때 호출되어 MongoDB 데이터베이스와 연결을 수립하고 애플리케이션이 종료될 때 연결을 끊습니다.

 

 

> 사용하기 예

const { MongoClient } = require('mongodb');
const uri = 'mongodb://localhost:27017/myapp';

const client = new MongoClient(uri);

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

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

    const result = await users.insertOne({
      username: 'john',
      email: 'john@example.com',
      password: 'password123'
    });

    console.log(`Inserted ${result.insertedCount} document`);

  } catch (error) {
    console.error(error);
  } finally {
    await client.close();
    console.log('Disconnected from MongoDB server');
  }
}

connect();

 

 위 코드는 사용자 정보를 저장하는 컬렉션을 만들고 사용자를 추가하는 예로,

users 컬렉션에 새 사용자를 추가합니다. users.insertOne()을 사용하여 사용자 정보를 추가하고, 결과를 확인합니다.

 

 


 

- async/await 는 무엇인가?

- 스키마를 작성하려면? (mongoose)

728x90
반응형