获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。
了解详情
支持的数据类型
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本页面介绍了 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 使用基于内部表示的确定性排序。以下列表显示顺序:
- 空值
- 布尔值
- 整数和浮点值,按数字顺序排序
- 日期值
- 文本字符串值
- 字节值
- Cloud Firestore 参考资料
- 地理点值
- 数组值
- 映射值
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
Last updated 2023-02-03 UTC.
[{
"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":"其他"
}]