본문 바로가기
Node.js

MongoDB 비밀번호 암호화

by 세인트킴 2024. 2. 6.
require('dotenv').config()
const password = process.env.DB_PW

const url = `mongodb+srv://sikim0721:${password}@cluster0.tqbj5n0.mongodb.net/?retryWrites=true&w=majority`
new MongoClient(url).connect().then((client)=>{
  console.log('DB연결성공')
  db = client.db('forum')
  app.listen(8080, () => {
    console.log('http://localhost:8080 에서 서버 실행중')
  })
}).catch((err)=>{
  console.log(err)
})

환경변수 파일 .env를 설치해준다. 그리고 그 파일에 비밀번호를 저장한 후, module.exports를 꼭 해준다.

module.exports를 하지 않아서 아틀라스 인증 오류가 발생했다. 

 

그리고 계속 오류가 발생했는데 왜인가 하니 ${}를 사용하려면 (')가 아닌 백틱 기호(`)를 사용해야 된다는 것을 gpt한테 도움을 받아서 수정해보니 비밀번호가 암호화 된 채 DB에 로그인 된다.

module.exports 문법 

module.exports = 옮길 변수명을 적어야 exports를 할 수 있다.

오류 메세지

더보기

MongoServerError: bad auth : authentication failed
    at Connection.onMessage (/Users/SaintKim/Documents/forum/node_modules/mongodb/lib/cmap/connection.js:202:26)
    at MessageStream.<anonymous> (/Users/SaintKim/Documents/forum/node_modules/mongodb/lib/cmap/connection.js:61:60)
    at MessageStream.emit (node:events:517:28)
    at processIncomingData (/Users/SaintKim/Documents/forum/node_modules/mongodb/lib/cmap/message_stream.js:124:16)
    at MessageStream._write (/Users/SaintKim/Documents/forum/node_modules/mongodb/lib/cmap/message_stream.js:33:9)
    at writeOrBuffer (node:internal/streams/writable:392:12)
    at _write (node:internal/streams/writable:333:10)
    at Writable.write (node:internal/streams/writable:337:10)
    at TLSSocket.ondata (node:internal/streams/readable:809:22)
    at TLSSocket.emit (node:events:517:28) {
  ok: 0,
  code: 8000,
  codeName: 'AtlasError',
  connectionGeneration: 0,
  [Symbol(errorLabels)]: Set(2) { 'HandshakeError', 'ResetPool' }
}
[nodemon] clean exit - waiting for changes before restart

'Node.js' 카테고리의 다른 글

server.js  (0) 2024.02.10
Login - MongoDB  (0) 2024.02.09
list.ejs - 삭제기능 구현 오류  (0) 2024.02.06
수정 오류 해결 - correction.ejs  (0) 2024.02.04
ejs - 문법 오류 에러  (0) 2024.02.04