Drizzle로 태그 필터 검색을 만들고 있습니다. 사용자가 고른 태그 ID 배열을 inArray로 거는데, 아무 태그도 선택 안 하면 배열이 빈 배열([])이 됩니다. 이때 결과가 0건이 아니라 테이블 전체가 다 나와버립니다.
const rows = await db.select().from(posts)
.where(inArray(posts.tagId, selectedIds)) // selectedIds = []SQL 로그를 찍어보니 where 절이 아예 안 붙거나 이상하게 나가는 것 같습니다. 상식적으로 빈 배열이면 '해당하는 게 없다'니까 0건이어야 하는 거 아닌가요? 아니면 제가 뭔가 잘못 이해하고 있는 걸까요? 하마터면 비공개 글까지 다 노출될 뻔했습니다.
댓글 0