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 |