몽고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()을 사용하여 사용자 정보를 추가하고, 결과를 확인합니다.
'STUDY > MongoDB' 카테고리의 다른 글
MongoDB 서버/shell 실행하기 (0) | 2023.04.20 |
---|---|
[6-0] MongoDB Server 삭제하기 (0) | 2023.04.18 |
[6-0] MongoDB server설치 및 path등록 버전확인 (0) | 2023.04.17 |
[6-2] Mongoose DB연결 및 스키마정의 (0) | 2023.04.09 |