개발/학습

MongoDB(Mongoose) - connect / createConnection

sihoonchris 2024. 8. 25. 13:41

포트폴리오의 수익률을 계산하는 기능을 구현하다가

" createConnection " 이라는 함수를 사용했다.

 

그 코드는 다음과 같고,

 

이번에 새로 배운 내용을 정리하자면...

 

1) 한 개의 DB에 접속할 때는 .connect() , 여러 개의 DB에 접속할 때는 .createConnection()

이전의 작업에서는 " mongoose.connect() ~ "

이런 식으로 코드를 작성했는데

 

이 경우, 여러 DB에 접속할 때마다

mongoose1.connect(URL1) ~ 

mongoose2.connect(URL2) ~ 

mongoose3.connect(URL3) ~ 

...

이런 식으로 만들어줘야 한다.

 

하지만 .createConnection()을 사용하면

mongoose.createConnection(URL1) ~ 

mongoose.createConnection(URL2) ~ 

mongoose.createConnection(URL3) ~ 

...

이런 식으로 작업이 가능해진다.

 

2) .createConnection() 을 사용할 때는 .on()과 .once()를 사용하여 DB 접속 이후에 실행할 동작을 정의

.createConnection() 은 .connect() 와 달리 Promise를 반환하지 않기 때문에

" mongoose.connect(URL).then(~).catch(~).finally(~); " 이런 식으로 코드를 작성하면 안된다.

 

let conn = mongoose.createConnection(URL);

conn.once("open", () => { ~ });

이런 식으로 작성하여, 

DB 접속 이후에 실행할 동작을 정의해주어야 한다.

 

3) model은 생성된 connection에 대하여 만들어져야 함

 

 

참고 자료)

https://blog.naver.com/ksh81850/220368932849

 

Node.js의 Mongoose를 이용한 mongoDB 조작하기

※ Mongoose  ☞ 몽구스는 몽고디비를 쉽게 사용할 수 있도록 도와주는 노드의 모듈이다. ☞ 몽고디...

blog.naver.com

https://hwb0218.tistory.com/38

 

[MongoDB] mongoose.connection.on() & once()

mongoose.connection.on() 과 once()의 차이? mongoose.connect(uri, options); const db = mongoose.connection; db.once('open', () => { console.log('connection success'); }); db.on('error', () => { console.log('connection error'); }); 주어진 이벤트가

hwb0218.tistory.com

https://www.mongodb.com/community/forums/t/create-names-connection-in-mongoose/222564/5

 

Create names connection in mongoose

Dear @jhona_kkk, I am starting to follow you because your are a SPAMMER. This way I will catch your SPAM faster. I flagged your previous post as SPAM.

www.mongodb.com

 

'개발 > 학습' 카테고리의 다른 글

MongoDB - 데이터 타입 수정 ; 문자열을 날짜로  (0) 2024.07.14
MongoDB 강의 내용 정리 - 2.  (0) 2024.04.12
MongoDB 강의 내용 정리 - 1.  (0) 2024.04.10