230207 / git push 오류 해결 (새로 연결)

신동윤·2023년 2월 7일
0

정답. 푸시가 되지 않을때 왜그럴까?

ls -a


를 이용하여 깃이 설치 되어있는지 확인한다.

git remote -v


원격저장소에 연결이 되어있는지 확인한다.

get log


저장소에 어떤 일이 있었는지 확인

git push origin main


푸시를 하니 에러가 난다.

git remote rm origin

remove를 통해 연결을 끊은 뒤 -v(view)로 확인 후 원격 저장소 재연결, push를 하니 에러 끝.

요약

  1. git remote remove origin 명령어를 입력해서 기존에 연결되어 있는 원격 저장소와의 연결을 끊어줍니다.

  2. git remote add origin [새롭게 연결할 깃 레파지토리 주소] 명령어를 입력합니다.

  3. git remote -v 명령어를 입력해서 확인합니다.

  4. push합니다.

Express

req.params

router.get("/:id", auth, async (req, res) => { // 'id'라는 프로퍼티
  try {
    const post = await Post.findById(req.params.id);
    res.json(post);
  } catch (err) {
    res.status(500).send("Server Error");
  }
});

'api/posts/:id'라는 라우터 경로가 있을 때, 'id'는 'req.params.id'로 불러올 수 있다.
req 객체에 'parameter'라는 프로퍼티가 있고, 그 프로퍼티의 'id'라는 프로퍼티로 접근해 요청을 보낼 수 있는 것.

req.body

'request body'에 'key-value'의 데이터가 담긴 객체 프로퍼티이다. JSON 객체에 접근 가능하다.

schemas

const Post = require("../schemas/post")

router.get("/:_id", async (req, res) => {
  const { _id } = req.params;
  const posts = await Post.find({ _id }); // Post.find({ '_id: _id });
  res.json({'data': posts});
});

변수 Post(model=스키마를 사용하여 만드는 인스턴스)는 mongoose 데이터로 Array method를 사용하는 find와 filter의 사용방법이 다르다.
Why? Post는 데이터베이스에서 실제 작업을 처리할 수 있는 함수들을 지니고 있는 객체이기 때문에

구조분해할당을 통해 그 값들을 각각의 변수로 저장했다.
await Post.find()는 {key: value}로 이루어진 객체를 받아야하며 내가 썻던 콜백함수를 받지 못한다.

틀린예 > >
const Post = require("../schemas/post")

router.get("/:_id", async (req, res) => {
  const { _id } = req.params;
  const posts = await Post.find((x) => x_id === _id); //다른것도 틀렸을까?
  res.json({'data': posts});
});

참고)
https://mongoosejs.com/docs/api.html#model_Model-find

0개의 댓글