本頁面說明 Cloud Firestore 支援的資料類型。
資料類型
下表列出 Cloud Firestore 支援的資料類型。這項服務 也描述了比較相同類型值時使用的排序順序:
資料類型 | 排序順序 | 附註 |
---|---|---|
陣列 | 依元素值 |
陣列中的元素不得含有另一個陣列值。 在陣列中,元素會保留指派給這些元素的位置。 排序兩個以上的陣列時,會根據陣列的元素排序陣列 輕鬆分配獎金
比較兩個陣列時,每個陣列的第一個元素 。如果第一個元素相等,則第二個元素 以此類推,直到找出差異為止。如果陣列用盡 要比較的元素數量,但與該點相等時 陣列的順序在較長的陣列之前。 例如 |
布林值 | false < true |
— |
位元組 | 位元組順序 | 最多 1,048,487 個位元組 (1 MiB - 89 個位元組)。只有前 1,500 個位元組 都會影響查詢的動作 |
日期與時間 | 依時間順序 | 儲存在 Cloud Firestore 中,精確度僅為微秒;任何 其他精準度則會無條件捨去 |
浮點數 | 數字 | 64 位元雙精度,IEEE 754。 |
地理點 | 先按緯度,再依照經度 | 由於查詢的限制,目前我們不建議使用此資料類型。經緯度欄位通常會以不同的數值欄位儲存。如果應用程式需要以距離為依據的簡易地理區域查詢,請參閱「地理區域查詢」一文 |
整數 | 數字 | 64 位元,帶正負號 |
地圖 | 先按鍵,再依值排序 | 代表內嵌於文件的物件。建立索引後 子欄位。如果從索引中排除這個值,那麼所有子欄位都會 也排除在索引範圍之外
金鑰順序一律為排序。舉例來說,假設您寫入
地圖欄位會依鍵排序並依鍵/值組合進行比較,首先比較鍵和值。如果第一個鍵/值組合相等,系統會比較下一個鍵/值組合,依此類推。如果兩張圖的鍵/值組合都相同,就會考慮對應長度。適用對象 舉例來說,下列地圖是按遞增順序排列:
|
NaN | 無 | — |
空值 | 無 | — |
參考資料 | 依路徑元素 (集合、文件 ID、集合、文件 ID...) | 例如 projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] 。 |
文字字串 | UTF-8 編碼位元組順序 | 最多 1,048,487 個位元組 (1 MiB - 89 個位元組)。只有前 1,500 個位元組 查詢會將 UTF-8 表示法列入考慮。 |
向量 | 然後是維度和個別元素值 | 支援的嵌入維度上限為 2048。如要儲存含有 更大的尺寸,請使用 降低維度。 |
值類型排序
如果查詢的欄位含有混合型別的值, Cloud Firestore 會根據內部 表示法下列清單列出順序:
- 空值
- 布林值
- NaN 值
- 整數和浮點值,按數字順序排序
- 日期值
- 文字字串值
- 位元組值
- Cloud Firestore 個參考資料
- 地理點值
- 陣列值
- 向量嵌入
- 對應值