>source

몽구스를 통해 여러 레code를 저장하려고 하는데 레code를 한 번 보낼 수 있었지만 동일한 레code를 다시 보내려고 하면 400 잘못된 요청 오류 메시지가 나타납니다.

표의 레code:

empno    points    date_saved
72        15       "2021-09-20T17:21:30.366Z"
1000      0        "2021-09-20T17:21:30.366Z"
1001      10       "2021-09-20T17:21:30.366Z"

모델

const points_Schema= new mongoose.Schema({
  _id: {
    type: String,
    required: false,
  },
  empno: {
    type: Number,
    required: false,
  },
  points:{
    type: Number,
    required: false,
  },
  date_saved:{
    type: Date,
    required: false,
  }
});

경로

router.post("/points/save", (req, res)=> {
 let newpoints= req.body;
  Points.create(newpoints, (err)=> {
    if (err) {
      return res.status(400).json({
        error: err,
      });
    }
    return res.status(200).json({
      success: "points saved succesfully",
    });
  });
});

컬렉션이 비어 있을 때 처음 요청할 때 잘 작동하지만 다른 레code 세트를 입력하려고 하면 400 오류 메시지가 표시됩니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

우편 배달부 오류

  • 답변 # 1

    객체 구조화를 사용하는 경우 다음을 사용해야 합니다.

    Try first console.log(newpoints) check that it's a int or still object.
    let {newpoints}= req.body //this is correct way to destructuring an object
    

    나는 그 문제를 어떻게 해결할 수 있습니까?

    techshot nextgen2021-09-21 10:58:42

    mongodb 데이터베이스에서 직접 삭제하거나 경로가 있으면 사용할 수 있습니다!

    cookie s2021-09-21 11:16:16
  • 답변 # 2

    이 줄을 제거하면 기본 키와 관련된 문제일 수 있습니다.

    _id: {
        type: String,
        required: false,
      },
    

    중복된 레code를 입력할 수 없도록 하려고 했습니다.

    techshot nextgen2021-09-22 06:33:11
  • 이전 r : ggplot2: 유연한 플로팅 함수에서 aes() 내부와 외부에 기본 색상/모양/... 지정
  • 다음 vs code에 cs50 라이브러리를 추가하는 방법