http://epdbio.com/board/notice/view/6
현재 위와 같은 홈페이지 게시판을 바탕으로 node js 활용하여 만들어보고 있습니다!
아래와 같이
let prevResult = await db.collection('notice').find({_id : {$lt: new ObjectId(요청.params.id1)}}).skip(resultNo).limit(1).toArray();
에 skip안에 숫자를 넣으면 잘 되는데 왜 변수로 넣으니깐 작동을 안하는지 전혀 모르겠네요 ㅠㅠ...
답변 부탁드립니다 ㅠㅠ 감사합니다
app.get('/notice-detail/:id1', async (요청, 응답) => {
try {
console.log(요청.params);
let result = await db.collection('notice').findOne({_id : new ObjectId(요청.params.id1)});
let resultNo = result.no - 1;
console.log(resultNo);
let nextResult = await db.collection('notice').find({_id : {$gt: new ObjectId(요청.params.id1)}}).limit(1).toArray();
let prevResult = await db.collection('notice').find({_id : {$lt: new ObjectId(요청.params.id1)}}).skip(resultNo).limit(1).toArray();
let nextResultTxt = null;
if (nextResult[0] == undefined) {
nextResultTxt = {title : ''}
} else {
nextResultTxt = nextResult[0];
}
// 예외처리 :: _id길이는 맞는데 틀릴경우
if(result == null){
응답.status(404).send('잘못된 URL');
}
// console.log(nextResult[0]);
console.log(prevResult);
// 뒤에 오브젝트에 자료전송 가능
응답.render('board/notice-detail.ejs', {
글상세 : result,
다음글 : nextResultTxt
});
} catch(e) {
console.log(e);
응답.status(404).send('잘못된 URL');
}
});