• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

해시태그 오류 질문입니다.

21.01.23 21:10 작성 조회수 185

0

한 게시글에서 동일한 해시태그를 여러번 사용했을 때 에러가 발생합니다

ex) #리액트 #리액트 #리액트

error -> SequelizeUniqueConstraintError: Validation error at Query.formatError

에러 로그를 보니 아래 부분이 오류라고 합니다.

await post.addHashtags(result.map((v) => v[0]));

코드에서 어떤 부분이 잘못된건가요?

그리고 추가적으로 map에서 동일한 해시태그를 입력하기 key값이 중복되어 오류가 납니다.

이러한 경우에는 key를 어떤 방식으로 넣어주는지도 궁금합니다.

아래는 routes/post.js 해시태그 부분 소스입니다.

const hashtags = req.body.content.match(/(#[^\s#]+)/g);
if (hashtags) {
const result = await Promise.all(hashtags.map((v) => Hashtag.findOrCreate({
where: { name: v.slice(1).toLowerCase() },
})));

await post.addHashtags(result.map((v) => v[0]));
}

답변 2

·

답변을 작성해보세요.

0

감사합니다.

위에 질문한 내용중에 같은 해시태그가 있을 때 map에서 key값이 중복되어 오류가 나서 key값을 어떤식으로 입력해주는지 궁금합니다.

0

해시태그 중복을 DB에 넣기 전에 제거하면 됩니다.

Array.from(new Set(hashtags))

하면 중복이 제거됩니다.