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 |