Google 致力于为黑人社区推动种族平等。查看具体举措
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

支持的數據類型

此頁面描述了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"}

映射字段按鍵排序,並按鍵值對進行比較,首先比較鍵,然後比較值。如果前幾個鍵值對相等,則比較下一個鍵值對,依此類推。如果兩個映射以相同的鍵值對開頭,則將考慮映射長度。例如,以下地圖以升序排列:

{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將基於內部表示使用確定性排序。以下列表顯示了順序:

  1. 空值
  2. 布爾值
  3. 整數和浮點值,按數字順序排序
  4. 日期值
  5. 文字字串值
  6. 字節值
  7. Cloud Firestore參考
  8. 地理位置值
  9. 數組值
  10. 地圖值