본문 바로가기
교육후 개인공부/React

[Next.js] dynamic route와 id맞추기(상세페이지설정)

by 뭉지야 2024. 2. 20.
728x90

상세페이지에서 

dynamic route에 id맞추는 방법이다.

 

 

 

일단 mongoDB에서 게시물 1개만 가져오려면 findOne을 사용하면 된다.

const result = await db.collection("post").findOne({ title: "제목3" });

 

 

 

const result = await db
    .collection("post")
    .findOne({ _id: new ObjectId('65699478e619dc02d6af6819') });

 

이렇게하면 저 id에 맞는 게시물을 찾아준다.

하지만 id값을 우린 항상 알수있는게 아니니까

 

props를 이용해보자!

export default async function Detail(props) {
  const client = await connectDB;
  const db = client.db("market");
  const result = await db
    .collection("post")
    .findOne({ _id: new ObjectId(props) });
    }

 

이렇게 하니까 

{ params: { id: '31111' }, searchParams: {} }

 

이런식으로 서버에 찍힌다.

 

즉 

인터넷주소자리에 

localhost:3000/detail/31111

이렇게 쓰여있다면 저 id자리값이 props에서 저렇게 찍힌다.

저걸 이용하는거다!!!!

 

const result = await db
    .collection("post")
    .findOne({ _id: new ObjectId(props.params.id) });

 

이렇게 !!!!

728x90

'교육후 개인공부 > React' 카테고리의 다른 글

[Next.js] 서버기능 만들려면  (0) 2024.02.20
[Next.js] useRouter  (0) 2024.02.20
mongoDb 연결하기  (0) 2024.02.20
[Next.js] Oauth google 구현하기  (0) 2023.12.09
[Next.js] 게시물수정하기  (0) 2023.12.07