[英]How to chain where clause with multiple `==`s , multiple `>=`, multiple `<=` range filters
我需要獲取“事物”的數據:“動物”,“類型”:“哺乳動物”,“ dob”> = startDate和“ dbo” <= endDate
是否可以像ref.where('things', '==', 'Animals').where('type', '==', 'Mammals').where('dob', '>=', startDate).where('dob', '<=', endDate)
范圍過濾器可用於單個==
且不超過一個==
。 可以像上面那樣查詢嗎? 或任何其他替代方法來實現它?
此處的文檔https://firebase.google.com/docs/firestore/query-data/queries
說要將等式與范圍結合起來,您需要創建一個復合索引。
我想您的查詢將起作用,因為您只在一個字段上進行范圍查詢,但是您需要創建一個復合索引來做到這一點。
您可以在這里閱讀有關創建復合索引的更多信息https://firebase.google.com/docs/firestore/query-data/indexing
正如AndrewHill在評論中指出的那樣。 看起來Firestore允許您在第一次嘗試查詢復合索引后自動創建復合索引。 因此,這絕對可以在需要的地方提供幫助。 👍🏻
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.