인프런 커뮤니티 질문&답변

terecal님의 프로필 이미지
terecal

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #3 몽고 DB 연결

db에 데이터가 완벽하게 입력되지 않는거 같아여

작성

·

423

0

이렇게 post body로 입력하면

{
    "name":"tere1",
    "email":"tere1@daum.net",
    "password": "1234567"
}

이렇게 입력되고

다시 입력하면 아래와 같은 에러가 발생

{
    "success"false,
    "err": {
        "driver"true,
        "name""MongoError",
        "index"0,
        "code"11000,
        "keyPattern": {
            "email"1
        },
        "keyValue": {
            "email"null
        },
        "errmsg""E11000 duplicate key error collection: test.users index: email_1 dup key: { email: null }"
    }
}
혹시 라우터 로직에 문제가 있는것일까여?
mongoose.connect(config.mongoURI , { useNewUrlParser: trueuseUnifiedTopology: true ,useCreateIndex: trueuseFindAndModify: false})
    .then(() => console.log('MongoDB Connected...'))
    .catch((err=> console.log(err))

app.get('/', (reqres=> res.send("Hello World 안녕하세요 반갑습니다."))

app.post('/register', (reqres=> {
    const user = new User(req.body)
    user.save((erruserInfo=> {
        if (errreturn res.json({ success: falseerr })

        return res.status(200).json({
            success: true
        })
    });
});

답변 5

1

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요 ~ !

혹시  user 모델 쪽도 보여주시겠어요 ??  그쪽에 오타가 나있을거 같아서 ...

0

윗분과 동일하게 동작하지 않습니다.

소스코드는 몇번이나 확인해도 문제가 없어 보이고 

해결하셨다는 코드도 전부 넣었습니다.

현재 node v14.17.0에서 

bodyParser를 사용하려고 불러오고 사용하는 코드를 넣으면

아래 이미지와 같이 삭제선이 그어집니다.

찾아보니 

'bodyParser' is deprecated. 라고 뜨는데 

사용할 수 없는건가요?

참고로 / 는 호출되어 Hello World가 뜹니다.

bodyParser는  Node 버전이 올라가면서 더 이상 사용되지 않습니다.

express로 대체하여 해결하였습니다.

0

terecal님의 프로필 이미지
terecal
질문자

감사합니다 index.js에 아래 코드를 추가해서 문제가 해결되었어요 좋은 하루 되세여~!

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ extended: true }));

0

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요 ! 

제가 직접해보니깐요  


index.js 에 

bodyParser.json()

이 부분이 빠져 있더라구요 

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ extended: true }));

이 위에것 있죠 ?   bodyparser.json이 있어야 

json 형식으로 오는 데이터를 받을수 있어요 

지금까지는  data를  postman으로 보내도 받지 못하고 있엇답니다 

그리고 

package.json 파일에서 

"dependencies": {
"express": "^4.17.1",
"backend":"nodemon index.js",
"mongoose": "^5.9.9"
},

여기에서 backend 부분은 뺴주세요 ^^ 

수고하세요 ~! 

terecal님의 프로필 이미지
terecal

작성한 질문수

질문하기