Firebase Demo Day is here!
Watch demos of how to build and grow AI-powered, full stack apps using the best of Google.
支持的數據類型
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本頁面介紹 Cloud Firestore 支援的資料類型。
資料類型
下表列出了 Cloud Firestore 支援的資料類型。它還描述了比較相同類型的值時所使用的排序順序:
資料類型 | 排序 | 筆記 |
---|
大批 | 按元素值 | 數組不能包含另一個數組值作為其元素之一。 在陣列中,元素保持分配給它們的位置。對兩個或多個陣列進行排序時,陣列會根據其元素值進行排序。 比較兩個陣列時,將比較每個陣列的第一個元素。如果第一個元素相等,則比較第二個元素,依此類推,直到發現差異。如果陣列用完了要比較的元素,但到該點為止都相等,則較短的陣列將排在較長的陣列之前。 例如, [1, 2, 3] < [1, 2, 3, 1] < [2] 。數組[2] 具有最大的第一個元素值。數組[1, 2, 3] 的元素等於[1, 2, 3, 1] 的前三個元素,但長度較短。 |
布林值 | false < true | — |
位元組 | 位元組順序 | 最多 1,048,487 位元組(1 MiB - 89 位元組)。查詢僅考慮前 1,500 個位元組。 |
日期和時間 | 時間順序 | 儲存在 Cloud Firestore 中時,僅精確到微秒;任何額外的精度都會向下舍入。 |
浮點數 | 數位 | 64 位元雙精確度, IEEE 754 。 |
地理點 | 先按緯度,再按經度 | 由於查詢限制,目前我們不建議使用此資料類型。通常最好將緯度和經度儲存為單獨的數字欄位。如果您的應用程式需要簡單的基於距離的地理查詢,請參閱地理查詢 |
整數 | 數位 | 64 位,有符號 |
地圖 | 按鍵,然後按數值 | 表示嵌入文件中的物件。建立索引後,您可以查詢子欄位。如果從索引中排除該值,則所有子欄位也會從索引中排除。 鍵的順序始終是排序的。例如,如果您編寫{c: "foo", a: "bar", b: "qux"} 映射將按鍵排序並儲存為{a: "bar", b: "qux", c: "foo"} . Map欄位按鍵排序,並按鍵值對進行比較,先比較鍵,然後比較數值。如果第一個鍵值對相等,則比較下一個鍵值對,依此類推。如果兩個映射以相同的鍵值對開頭,則考慮映射長度。例如,以下地圖按升序排列: {a: "aaa", b: "baz"} {a: "foo", b: "bar"} {a: "foo", b: "bar", c: "qux"} {a: "foo", b: "baz"} {b: "aaa", c: "baz"} {c: "aaa"} |
南 | 沒有任何 | — |
無效的 | 沒有任何 | — |
參考 | 按路徑元素(集合、文件 ID、集合、文件 ID...) | 例如, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] 。 |
文字字串 | UTF-8編碼的位元組順序 | 最多 1,048,487 位元組(1 MiB - 89 位元組)。查詢僅考慮 UTF-8 表示形式的前 1,500 個位元組。 |
值類型排序
當查詢涉及具有混合類型值的欄位時,Cloud Firestore 使用基於內部表示的確定性排序。以下列表顯示了順序:
- 空值
- 布林值
- NaN 值
- 整數和浮點數值,依數字順序排序
- 日期值
- 文字字串值
- 位元組值
- Cloud Firestore 參考
- 地理點數值
- 數組值
- 地圖值
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2023-12-08 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]