-
카테고리
-
세부 분야
풀스택
-
해결 여부
해결됨
왜 user/0가 본인이 검색되는 거죠 ?
19.09.22 17:23 작성 조회수 82
0
req.params.id가 0이면 req.user && req.user.id로 검색하는건 알겠습니다
하지만 왜 (req.user && req.user.id) 뒤에 || 0 도 붙이는거죠 ?
user가 0이면 본인이 검색되는것 같은데
왜 그렇게 되는거죠 ?
감사합니다
router.get('/:id/posts', async (req, res, next) => {
try {
const posts = await db.Post.findAll({
where: {
UserId: parseInt(req.params.id, 10) || (req.user && req.user.id) || 0,
RetweetId: null,
},
include: [{
model: db.User,
attributes: ['id', 'nickname'],
}, {
model: db.Image,
}, {
model: db.User,
through: 'Like',
as: 'Likers',
attributes: ['id'],
}],
});
res.json(posts);
} catch (e) {
console.error(e);
next(e);
}
});
답변을 작성해보세요.
2
조현영
지식공유자2019.09.22
req.params.id가 없으면 req.user && req.user.id가 검색되고요.
만약에 req.user.id마저도 없으면 UserId: undefined가 됩니다.
시퀄라이즈에서는 where 절에 undefined가 들어가면 에러가 발생하기 때문에
에러를 막기 위해 0을 넣었습니다. 0이 들어가는 경우는 아무것도 검색되지 않습니다.
0
0
0
얼음없는아아
질문자2019.09.22
혹시 user/0으로 me가 null이 되는걸 방지하게 해서
Profile.getInitialProps에서 dispatch들을 정상적으로
작동하게 하는건가요 ?
답변 4