我創建了一個 Firestore 資料庫,所有欄位都是字串格式。
現在我需要在字串格式的這個欄位 (reqDate) 上按日期。
現場示例資料 (reqDate) = 10/11/2021, 9:22:11 PM
我使用 moment 在 Cloud Functions 上嘗試了以下代碼來格式化字串欄位:
const thisCollection = firestore.collection("ItemList")
.where(moment("reqDate").format('MM/DD/YYYY'), ">", "10/05/2021");
但它回傳空白或沒有記錄。
提前致謝
uj5u.com熱心網友回復:
首先,您傳遞給查詢的條件是錯誤的,因為您需要傳遞:
- 要在第一個引數中過濾的欄位名稱,現在是
moment("reqDate").format('MM/DD/YYYY'),但應該是"reqDate"。 - 運算子,在您的代碼中是正確的。
- 要過濾的值。
您使用的這種日期格式不適用于范圍過濾器,因為字串是按字典順序排列的:"10/05/2021"is before "11/05/2020"。
要允許范圍查詢,您需要一個允許這樣做的日期格式。當日期是字串時,最常見的格式基于ISO-8601,例如"2021-10-17",因為在這種格式中 10 月 17 日之后的日期可以通過以下方式查詢:.where("reqDate", ">", "2021-10-17")
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/322649.html
標籤:火力基地 谷歌云firestore
