반응형
AND 구현
import { query, where } from "firebase/firestore";
const q1 = query(citiesRef, where("state", "==", "CO"), where("name", "==", "Denver"));
const q2 = query(citiesRef, where("state", "==", "CA"), where("population", "<", 1000000));
위와 같이 where()뒤에 (,)콤마 찍고 where() 또 쓰면 AND를 구현할 수 있다.
OR 구현
import { query, where } from "firebase/firestore";
const q = query(citiesRef, where('country', 'in', ['USA', 'Japan']));
위와 같이 뒤쪽에 배열을 놓고 'in'을 사용하면 OR을 구현할 수 있다.
위의 예시 쿼리는 country 필드가 USA 또는 Japan으로 설정된 모든 city 문서를 반환한다.
아니면 q1 쿼리문으로 데이터를 받아오고, q2 쿼리문으로 데이터를 받아온 뒤 map함수를 이용해 배열 형태로 바꾼다음 concat()함수로 합쳐주는 것도 물리적으로 OR을 만드는 방법이다.
반응형