我不明白我需要一個索引來在 firestore 中進行更長的搜索查詢。我正在像這樣查詢我的檔案:
workoutFiter.tags.forEach(
tag => (query = query.where(`tags.${tag.index}`, '==', true)),
);
目前總共有 5 個標簽,所以我必須為每個可能的標簽組合創建一個索引嗎?因為如果是這樣,我想我必須有 120 (5 * 4 * 3 * 2) 索引。這似乎有點過于復雜了。
uj5u.com熱心網友回復:
如檔案中所述,您只能創建 200 個復合索引,因此如果您想添加更多標簽并且 Firestore 目前不支持array-contains-all運算子,這種方式可能不是最好的。
您可以在檔案中存盤一組標簽,并使用運算子為每個標簽運行單獨的查詢,array-contains如下所示:
const q = query(colRef, where('tags', 'array-contains', 'tagName'));
// or "array-contains-any" to combine up to 10 array-contains clauses
如果您需要高級過濾器,請查看支持您嘗試執行的查詢的 Algolia 和Firebase Algolia Extension以保持更新。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/510134.html
標籤:Google Cloud Collective javascript火力基地谷歌云平台谷歌云火库反应原生火力基地
上一篇:React/Firebase錯誤“未捕獲(承諾)TypeError:(0,_firebase__WEBPACK_IMPORTED_MODULE_1__.default)不是函式”
