메인은 쿼리
127.0.0.1:3000/api/main?page=3&perPage=6
// 메인 페이지
router.get('/', async (req, res) => {
try {
const page = Number(req.query.page || 1);
const perPage = Number(req.query.perPage || 6)
const roomLength = await Room.find({});
const mainLength = roomLength.length;
const roomList = await Room.find({})
.sort({ createAt: -1 })
.skip(perPage * (page - 1)) //perPage가 6이라면 1page로 왔을 때 6*(1-1) = 0이라서 0부터 6까지 출력
.limit(perPage)
res.status(200).json({
result: true,
roomList,
mainLength,
})
} catch (error) {
return res.status(400).send({
result: false,
msg: '스터디를 불러올 수 없습니다.',
errmsg: error.message,
});
}
});
카테고리는 파람스>쿼리
127.0.0.1:3000/api/main/tag/공무원?page=1&perPage=6
//카테고리
router.get('/tag/:tagName', async (req, res) => {
try {
const { tagName } = req.params;
const page = Number(req.query.page || 1);
const perPage = Number(req.query.perPage || 6)
const roomLength = await Room.find({ tagName });
const tagLength = roomLength.length;
const roomList = await Room.find({ tagName })
.sort({ createAt: -1 })
.skip(perPage * (page - 1)) //만약 perPage가 10이라면 1page로 왔을 때 10*(1-1) = 0이라서 0부터 9까지 출력
.limit(perPage)
res.status(200).json({
result: true,
roomList,
tagLength,
});
} catch (error) {
console.log(error);
res.status(400).send({ errorMessage: error.message });
}
});