MainPage.tsx:50 Uncaught (in promise) FirebaseError: The query requires an index. You can create it here: https://console.firebase.google.com/v1/r/project/gnd-test01/firestore/indexes?create_composite=Ckhwcm9qZWN0cy9nbmQtdGVzdDAxL2RhdGFiYXNlcy8oZGVmYXVsdCkvY29sbGVjdGlvbkdyb3Vwcy9DTEFTUy9pbmRleGVzL18QARoMCghjYXRlZ29yeRABGgkKBXRpdGxlEAIaDAoIX19uYW1lX18QAg
firebase error 해결
// 전체 영상 불러오기
const getData = async () => {
let list: object[] = [];
const q = query(
collection(dbService, 'CLASS'),
category !== 'all'
? where('category', '==', category)
: where('category', 'in', [
'react',
'javascript',
'typescript',
]),
orderBy('title', 'desc'),
limit(16)
);
const countSnap = await getCountFromServer(collection(dbService, 'CLASS'));
console.log('count', countSnap.data().count);
const querySnapshot = await getDocs(q);
querySnapshot.forEach((doc) => {
const obj = {
id: doc.id,
...doc.data(),
};
list.push(obj);
// console.log(obj)
});
return list;
};
위와 같이 firebase에서 단일쿼리에 2개의 where 조건을 사용할 경우 Cloud firestore에서 색인이 필요하다.
에러문구의 링크를 타고가면 firebase 색인탭이 나오게 되는데 여기서 색인을 추가해주면된다.
'내배캠 WIL & TIL' 카테고리의 다른 글
TIL) 스파르타 개발일지 23-01-27 (0) | 2023.01.28 |
---|---|
TIL) 스파르타 개발일지 23-01-26 (0) | 2023.01.27 |
TIL) 스파르타 개발일지 23-01-20 (0) | 2023.01.20 |
TIL) 스파르타 개발일지 23-01-19 (0) | 2023.01.20 |
TIL) 스파르타 개발일지 23-01-18 (0) | 2023.01.18 |