본문 바로가기

끄적끄적

react mongoDB연결

1.문제

: 서버까지 연결되는 것을 확인했지만 mongoDB로 데이터가 들어가지 않는 문제 발생

  구글링도 열심히 해봤지만 계속 안되었다.( 찾아보니 다양한 코드 해결 방법들이 있음 )

 

2.시도 & 해결

  너무 찾아보다보니 본질적으로 뭐가 문제인지 근원을 못 찾는것 같아서 (찾아본게 머리속에서 섞이는 기분이였다.)

  코드를 싹 정리하고 다시 하나씩 정리하기 시작했다.

 1) mongoose 라이브러리를 사용 -> mongoDB와 연결까지는 잘되는 것 확인 그러나 db에 내용물이 들어가지 않음

 🔥고찰)

         보내는걸 완료할 시점에서 보니 post를 하고 나서 DB에 넣어주는 코드작성이 비완성적이였던게 문제의 원인이였던것 같다.

        (막상 찾을땐 왜 눈에 안들어오는지 모르겠다.)

         또 req.body를 받아서 시험으로 보내보는것도 좋지만 보낼 고정적인 객체들을 만들어 시험으로 보내보는것도 좋은 방법인것같다.

         req.body에서 받아오는게 문제였던건지 아니면 DB에 넣는 코드에서 문제였던 것인지 찾는데에 시간을 허비한다.

 

 2) mongoClient를 사용 -> 성공했지만 중요한거 node버전이 최신일 경우 mongoClient의 콜백 함수는 사용이 안된다.

    그러니 버전에 맞춰서 사용하자.

const dotenv = require('dotenv');
dotenv.config();

const MongoClient = require('mongodb').MongoClient;
const url = process.env.REACT_APP_MYURL;
const client = new MongoClient(url);

async function connectHandler() {
  await client.connect();
  console.log('connecting mongo...');
  const db = client.db('Cluster0'); //DB이름 기입
  const collection = db.collection('users'); //collection 이름 기입
  collection.insertOne({ user: 'asdasd', pwd: '1234' }); //고정적인 객체 넣어보기
  return 'done';
}
connectHandler()
  .then(console.log('DB에 연결!'))
  .catch((err) => console.log(err))
  .finally(() => {
    console.log('끝');
  });

 

3.느낀점

이미 만들어진 서버와 DB에서 GET,POST등을 하면서 기능들을 만들어냈는데 막상 서버도 직접 만들어보고 DB도 직접 연결해보니

간만에 프로젝트를 만들어보는 기분도 들어서 재밌었다....ㅎㅎ 사실  어렵기도 했다...ㅎ 성장한다 생각하자.👍

 

그리고 정리가 안될때는 하나씩 과정을 적어가며 길을 잃지 않도록 방향을 잡을 수 있게 하는게 많이 중요하다고 깨달았다.😂

나중에 찾아본 것이 다 섞여서 방향을 잃은 것 같았다. 그래서 고찰부분에서와 같은 일이 있었던것 같다.

 

다음과정은 이제 받은 입력값을 DB에 넣어보는 과정이다. 이미 들어가는 것을 봐서 괜찮게 진행이 될꺼같다.

역시 궁금하고 실력을 키우는데에는 직접 만들어보는게 좋다.😎

 

 

 

 

 

'끄적끄적' 카테고리의 다른 글

react mongoDB연결2  (0) 2023.07.08
.env 환경변수 값을 가져오지 못할때  (0) 2023.07.05
서버로 POST 그리고 응답받기  (0) 2023.07.04
react + express + mongoDB  (0) 2023.07.03
git pull --rebase  (0) 2023.06.14