FirebaseError: The query requires an index. You can create it here:
https://console.firebase.google.com/~~~
사용자 프로필 컴포넌트에 사용자 본인이 작성한 트윗만
firestore에서 가져오도록 하는 쿼리를 작성중 발생한 에러.
// 에러가 발생한 쿼리
const tweetQuery = query(
collection(database, "tweets"),
where("userId", "==", user?.uid),
orderBy("createdAt", "desc"),
limit(TWEET_LIMIT)
);
Firestore 는 복합 쿼리(여러 조건을 포함하고 있는 쿼리)를 최적화하기 위해 인덱스 를 사용한다. 기본적으로 단일 필드에 대한 쿼리는 자동으로 처리되지만 위 코드와 같은 where 와 orderBy 등을 결합한 복합 쿼리 또는 여러 where 조건(”userId”, “==”, user?.uid)을 사용할 경우 별도의 인덱스를 사용해야하기 때문에 오류가 발생하였다.
해당 오류가 발생하였으면 오류메세지에 특정 URL 이 포함되어 있다. 해당 URL로 접속하면 복합 쿼리 인덱스를 생성할 수 있는 페이지로 이동된다.

-> Cloud Firestore에 존재하는 색인 추가 팝업
해당 색인을 저장하면 아래와 같이 추가된다.

-> 색인 생성으로 만들어진 복합 쿼리 인덱스

오류 없이 정상적으로 출력되는 것을 확인할 수 있다.
🎉 해결!