Supabase - 무한한 가치와 동일
P粉741223880
P粉741223880 2023-08-15 18:53:11
0
2
492
<p>인증 흐름의 경우 미들웨어에서 <code>.eq</code> 문의 값을 일치시키려고 합니다. 일반 사용자는 자신이 작성한 게시물만 볼 수 있습니다. 관리자는 모든 게시물을 볼 수 있습니다. </p> <pre class="brush:js;toolbar:false;">const userMatcher = user.role === "admin" ? "*" : user.id; const { data: post } = 수파베이스 대기 .from("게시물") .선택하다("*") .eq("id", id) .eq("userId", userMatcher) .하나의(); </pre> <p>여기에서는 "*" 일치가 아무런 효과가 없습니다. 가능하다면 이 코드를 깔끔하게 유지하고 관리 사례에 대한 쿼리(사용자 일치자 제외)를 복제하지 않고 싶습니다. </p> <p>가능하다면 가장 깨끗한 방법은 무엇입니까? </p>
P粉741223880
P粉741223880

모든 응답(2)
P粉513316221

Michael Coxon님의 답변은 완벽합니다.

또는 여러 가지를 조합하여 유사한 결과를 얻을 수도 있습니다逻辑运算符.

다음을 시도해 보세요:

으아악

관리자용: user.role === "admin"이므로 userId.eq.true 조건은 항상 true로 평가되어 관리자가 모든 게시물을 볼 수 있습니다.

다른 사용자의 경우: Condition userId.eq.{userId: user.id} userId가 현재 사용자 ID와 일치하는 게시물만 선택하도록 제한합니다.

id.eq.${id} 지정된 ID를 가진 게시물이 검색되는지 확인합니다.

P粉670838735

쿼리를 분할하면 됩니다. 한 줄로 모든 작업을 수행할 필요는 없습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿