Menu
CoddyTech

MongoDB에 연결하기

Coddy Node.js 여정의 MongoDB 데이터베이스 섹션에 포함된 레슨. 29개 중 3번째.

프로그램은 클라이언트 객체를 통해 MongoDB에 연결됩니다. MongoClient를 가져오고 연결 주소를 사용해 클라이언트를 만드세요. 아래 주소는 같은 컴퓨터에 있는 MongoDB를 가리킵니다. 주소는 localhost입니다. 숫자 27017은 해당 데이터베이스 서비스가 연결을 수신하는 포트입니다.

const client = new MongoClient('mongodb://localhost:27017');
const db = client.db('shop');
const orders = db.collection('orders');

첫 번째 줄은 클라이언트를 설정하고, 다음 두 줄은 데이터베이스와 컬렉션을 선택합니다. 이 줄들은 레코드를 읽지 않습니다. Coddy에서는 실행할 때마다 초기화되는 연습용 데이터베이스가 연결을 제공합니다. 일반적인 MongoDB 배포 환경에서는 애플리케이션을 다시 시작한 후에도 데이터가 유지됩니다.

요청이 클라이언트를 재사용하도록 모듈 수준에서 클라이언트를 만드세요. 실제 드라이버에서는 요청 함수 안에서 클라이언트를 만들면 요청마다 새 연결 풀이 생성됩니다.

challenge icon

챌린지

쉬움

connection.js를 수정하세요. 자리 표시자를 mongodb://localhost:27017, shelf 데이터베이스 및 해당 데이터베이스의 books 컬렉션을 사용하는 클라이언트로 바꾸세요.

이 값들을 selectBooks() 바깥에 만드세요. 해당 함수가 선택한 컬렉션을 반환하도록 두면 모든 요청에서 같은 컬렉션을 재사용합니다. 제공된 경로에서 컬렉션을 읽어 줍니다. 실행해 보세요. GET /result는 Dune, Kindred, Emma를 나열해야 합니다. 삽입 코드나 경로 코드는 필요하지 않습니다.

제공된 GET /reuse 경로는 반복 호출에서 같은 컬렉션 핸들을 받을 때 {"same":true}를 반환합니다.

직접 해보기

import { MongoClient } from 'mongodb';
// 클라이언트를 생성하고 데이터베이스를 선택한 다음 이 자리표시자를 대체하세요.
const books = null;
export function selectBooks() {
    return books;
}

MongoDB 데이터베이스의 모든 레슨

직접 연습해 보세요: Express 플레이그라운드