반응형
환경 세팅
npm init --y # node 패키지 설치
npm i -D typescript ts-node @types/node # 라이브러리 설치
tsc --init # tsconfig.json 설정 파일 생성
npm i mongodb # MongoDB 패키지 설치
npm i -D @types/mongodb
서버 실행
ts-node src/index.ts
MongoDB에 연결하고 DB 선택하기
mkdir -p src/mongodb
cd src/mongodb
touch connectAndUseDB.ts index.ts
cd ../..
src/mongodb/connectAndUseDB.ts
import { MongoClient, Db } from "mongodb";
export type MongoDB = Db
export type ConnectCallback = (db: MongoDB) => void
export const connectAndUseDB = async (
callback: ConnectCallback,
dbName: string,
mongoUrl: string = 'mongodb://localhost:27017'
) => {
let connection
try {
connection = await MongoClient.connect(mongoUrl)
const db: Db = connection.db(dbName)
callback(db)
} catch (e) {
if (e instanceof Error) {
console.log(e.message)
}
}
}
src/mongodb/index.ts
export * from './connectAndUseDB'
연결 테스트 확인용 파일 만들기
mkdir -p src/test
touch src/test/connectTest.ts
src/test/connectTest.ts
import { connect } from 'http2'
import * as M from '../mongodb'
const connectCB = (db: M.MongoDB) => {
console.log('db', db)
}
const connectTest = () => {
M.connectAndUseDB(connectCB, 'ch07')
}
connectTest()
연결 확인하기
ts-node src/test/connectTest.ts
반응형
'Database > MongoDB' 카테고리의 다른 글
| MongoDB #5 (집계) (0) | 2025.07.28 |
|---|---|
| MongoDB #4 (인덱싱) (0) | 2025.07.28 |
| MongoDB #3 (쿼리 및 필터링) (4) | 2025.07.28 |
| MongoDB #2 (기본 명령어, CRUD) (1) | 2025.07.28 |
| MongoDB #1 (소개) (1) | 2025.07.28 |