Framework/Node.js

[MongoDB] 데이터를 저장했는데 MongoDB에서 확인이 안 될 때

Jonnie 2021. 9. 22. 21:48

코딩애플의 강의 중 'Node.js, MongoDB로 2시간 만에 빠르게 웹서비스 만들기'를 수강 중이다.

 

강의 중 'Database에 자료 저장하는 법 (한줄이면 끝)' 부분에서 간단한 숙제가 나왔는데 진행하는 과정에서 겪은 시행착오를 기록하고자 한다.

 

숙제 내용은 아래와 같았다.

어떤 사람이 /add라는 경로로 post 요청을 하면, data 2개를 보내주는데 (제목, 날짜 데이터) 이때 'post'라는 이름을 가진 collection에 두 개 데이터 저장하기

 

 

나는 MongoClient.connect 안에 아래 코드를 만들어서 숙제를 진행했다

app.post('/add', function(req, res){
    db.collection('post').insertOne({제목: req.body.title , 날짜: req.body.date, _id: 1000}, function(에러, 결과){ //post라는 collection에 insertOne
        res.send("제목: " + req.body.title + " 날짜: " + req.body.date + "\n저장 완료");
    });;

이전까지 배운 코드를 재활용하는 정도라 어렵지 않았는데,

MongoDB 사이트에서 확인하니 일부 데이터는 저장되고, 일부는 되지 않았다.

 

이에 고민해보니,

 

강의를 들으며 자동생성되는 id값 대신 직접 id를 지정했는데 이 부분에서 오류가 있었다.

id값이 중복될 경우, overwrite 되지 않고 가장 처음 저장된 값으로 그대로 유지되는 것 같다.

id값을 다르게 설정하여 같은 데이터를 입력하니 해결되었다.

 

에러 메시지가 뜨지 않아서 단순히 서버 동기화 오류인가 생각했는데 아니라는 것을 알게 되었다...!

 

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

[Node.js] 한 줄로 DB에 자료 저장하기  (0) 2021.09.22