指数
Firestore
(界面)-
AggregationResult
(消息) -
ArrayValue
(消息) -
BatchGetDocumentsRequest
(消息) -
BatchGetDocumentsResponse
(消息) -
BatchWriteRequest
(消息) -
BatchWriteResponse
(消息) -
BeginTransactionRequest
(消息) -
BeginTransactionResponse
(消息) -
BitSequence
(消息) -
BloomFilter
(消息) -
CommitRequest
(消息) -
CommitResponse
(消息) -
CreateDocumentRequest
(消息) -
Cursor
(消息) -
DeleteDocumentRequest
(消息) -
Document
(消息) -
DocumentChange
(消息) -
DocumentDelete
(消息) -
DocumentMask
(消息) -
DocumentRemove
(消息) -
DocumentTransform
(消息) -
DocumentTransform.FieldTransform
(消息) -
DocumentTransform.FieldTransform.ServerValue
(枚举) -
ExistenceFilter
(消息) -
GetDocumentRequest
(消息) -
ListCollectionIdsRequest
(消息) -
ListCollectionIdsResponse
(消息) -
ListDocumentsRequest
(消息) -
ListDocumentsResponse
(消息) -
ListenRequest
(消息) -
ListenResponse
(消息) -
MapValue
(消息) -
PartitionQueryRequest
(消息) -
PartitionQueryResponse
(消息) -
Precondition
(消息) -
RollbackRequest
(消息) -
RunAggregationQueryRequest
(消息) -
RunAggregationQueryResponse
(消息) -
RunQueryRequest
(消息) -
RunQueryResponse
(消息) -
StructuredAggregationQuery
(消息) -
StructuredAggregationQuery.Aggregation
(消息) -
StructuredAggregationQuery.Aggregation.Avg
(消息) -
StructuredAggregationQuery.Aggregation.Count
(消息) -
StructuredAggregationQuery.Aggregation.Sum
(消息) -
StructuredQuery
(消息) -
StructuredQuery.CollectionSelector
(消息) -
StructuredQuery.CompositeFilter
(消息) -
StructuredQuery.CompositeFilter.Operator
(枚举) -
StructuredQuery.Direction
(枚举) -
StructuredQuery.FieldFilter
(消息) -
StructuredQuery.FieldFilter.Operator
(枚举) -
StructuredQuery.FieldReference
(消息) -
StructuredQuery.Filter
(消息) -
StructuredQuery.Order
(消息) -
StructuredQuery.Projection
(消息) -
StructuredQuery.UnaryFilter
(消息) -
StructuredQuery.UnaryFilter.Operator
(枚举) -
Target
(消息) -
Target.DocumentsTarget
(消息) -
Target.QueryTarget
(消息) -
TargetChange
(消息) -
TargetChange.TargetChangeType
(枚举) -
TransactionOptions
(消息) -
TransactionOptions.ReadOnly
(消息) -
TransactionOptions.ReadWrite
(消息) -
UpdateDocumentRequest
(消息) -
Value
(消息) -
Write
信息) -
WriteRequest
(消息) -
WriteResponse
(消息) -
WriteResult
(消息)
火库
Cloud Firestore 服务。
Cloud Firestore 是一种快速、完全托管、无服务器、云原生 NoSQL 文档数据库,可简化全球范围内的移动、Web 和 IoT 应用程序的数据存储、同步和查询。其客户端库提供实时同步和离线支持,而其安全功能以及与 Firebase 和 Google Cloud Platform 的集成可加速构建真正的无服务器应用程序。
批量获取文档 |
---|
获取多个文档。 不保证此方法返回的文档按照请求的顺序返回。
|
批量写入 |
---|
应用一批写操作。 BatchWrite 方法不会自动应用写入操作,并且可能会无序应用它们。方法不允许每个文档写入一次以上。每次写入独立成功或失败。请参阅 如果您需要原子应用的一组写入,请改用
|
开始交易 |
---|
开始新的交易。
|
犯罪 |
---|
提交事务,同时可以选择更新文档。
|
创建文档 |
---|
创建一个新文档。
|
删除文档 |
---|
删除文档。
|
获取文档 |
---|
获取单个文档。
|
列表集合Id |
---|
列出文档下的所有集合 ID。
|
列出文件 |
---|
列出文档。
|
听 |
---|
倾听变化。此方法只能通过 gRPC 或 WebChannel(而非 REST)使用。
|
分区查询 |
---|
通过返回可用于并行运行查询的分区游标对查询进行分区。返回的分区游标是分割点,RunQuery 可以将其用作查询结果的起点/终点。
|
回滚 |
---|
回滚事务。
|
运行聚合查询 |
---|
运行聚合查询。 该 API 不是像 高级示例:
|
运行查询 |
---|
运行查询。
|
更新文档 |
---|
更新或插入文档。
|
写 |
---|
按顺序流式传输批量文档更新和删除。此方法只能通过 gRPC 或 WebChannel(而非 REST)使用。
|
聚合结果
Firestore 聚合查询的单个存储桶的结果。
对于聚合查询中的所有结果, aggregate_fields
的键都是相同的,这与文档查询不同,文档查询可以为每个结果提供不同的字段。
领域 | |
---|---|
aggregate_fields | 聚合函数的结果,例如: 关键是分配给输入上的聚合函数的 |
数组值
一个数组值。
领域 | |
---|---|
values[] | 数组中的值。 |
批量获取文档请求
领域 | |
---|---|
database | 必需的。数据库名称。格式为: |
documents[] | 要检索的文档的名称。格式为: |
mask | 要返回的字段。如果未设置,则返回所有字段。 如果文档具有此掩码中不存在的字段,则该字段将不会在响应中返回。 |
联合字段consistency_selector 。此事务的一致性模式。如果不设置,默认为强一致性。 consistency_selector 只能是以下之一: | |
transaction | 读取事务中的文档。 |
new_transaction | 启动新事务并读取文档。默认为只读事务。新的事务 ID 将作为流中的第一个响应返回。 |
read_time | 按给定时间的原样读取文档。 这必须是过去一小时内的微秒精度时间戳,或者如果启用了时间点恢复,则还可以是过去 7 天内的整分钟时间戳。 |
批量获取文档响应
领域 | |
---|---|
transaction | 作为此请求的一部分启动的事务。仅在第一个响应中设置,并且仅当在请求中设置了 |
read_time | 阅读文档的时间。这可能是单调递增的,在这种情况下,保证结果流中的前一个文档在其 read_time 和本文档之间不会发生更改。 |
联盟场result 。单一结果。如果服务器只是返回事务,则该值可以为空。 result 只能是以下之一: | |
found | 所要求的文件。 |
missing | 已请求但不存在的文档名称。格式为: |
批量写入请求
领域 | |
---|---|
database | 必需的。数据库名称。格式为: |
writes[] | 写入应用。 方法不以原子方式应用写入,并且不保证顺序。每次写入独立成功或失败。每个请求不能多次写入同一文档。 |
labels | 与该批次写入相关的标签。 |
批量写入响应
来自Firestore.BatchWrite
的响应。
领域 | |
---|---|
write_results[] | 应用写入的结果。 该第i次写入结果对应于请求中的第i次写入。 |
status[] | 应用写入的状态。 该第i个写入状态对应于请求中的第i个写入。 |
开始交易请求
领域 | |
---|---|
database | 必需的。数据库名称。格式为: |
options | 交易的选项。默认为读写事务。 |
开始交易响应
领域 | |
---|---|
transaction | 已开始的交易。 |
位序列
位序列,编码在字节数组中。
bitmap
字节数组中的每个字节存储序列的 8 位。唯一的例外是最后一个字节,它可能存储 8 位或更少的位。 padding
定义了要被忽略为“填充”的最后一个字节的位数。这些“填充”位的值未指定,必须被忽略。
要检索第一位(位 0),请计算: (bitmap[0] & 0x01) != 0
。要检索第二位(位 1),请计算: (bitmap[0] & 0x02) != 0
。要检索第三位(位 2),请计算: (bitmap[0] & 0x04) != 0
。要检索第四位(位 3),请计算: (bitmap[0] & 0x08) != 0
。要检索位 n,请计算: (bitmap[n / 8] & (0x01 << (n % 8))) != 0
。
BitSequence
的“大小”(它包含的位数)通过以下公式计算: (bitmap.length * 8) - padding
。
领域 | |
---|---|
bitmap | 对位序列进行编码的字节。长度可能为零。 |
padding | |
布隆过滤器
布隆过滤器( https://en.wikipedia.org/wiki/Bloom_filter) 。
布隆过滤器使用 MD5 对条目进行哈希处理,并将生成的 128 位哈希值视为 2 个不同的 64 位哈希值,并使用 2 的补码编码将其解释为无符号整数。
然后,这两个哈希值(名为h1
和h2
)用于使用以下公式计算hash_count
哈希值:从i=0
开始:
h(i) = h1 + (i * h2)
然后将这些结果值对布隆过滤器中的位数取模,以获得布隆过滤器的比特来测试给定条目。
领域 | |
---|---|
bits | 布隆过滤器数据。 |
hash_count | 算法使用的哈希数。 |
提交请求
对Firestore.Commit
的请求。
领域 | |
---|---|
database | 必需的。数据库名称。格式为: |
writes[] | 写入应用。 始终以原子方式按顺序执行。 |
transaction | 如果设置,则应用此事务中的所有写入,并提交它。 |
提交响应
Firestore.Commit
的响应。
领域 | |
---|---|
write_results[] | 应用写入的结果。 该第i次写入结果对应于请求中的第i次写入。 |
commit_time | 提交发生的时间。任何具有等于或更大 |
创建文档请求
领域 | |
---|---|
parent | 必需的。父资源。例如: |
collection_id | 必需的。要列出的集合 ID,相对于 |
document_id | 客户端分配的用于此文档的文档 ID。 选修的。如果未指定,则服务将分配一个 ID。 |
document | 必需的。要创建的文档。不得设置 |
mask | 要返回的字段。如果未设置,则返回所有字段。 如果文档具有此掩码中不存在的字段,则该字段将不会在响应中返回。 |
光标
查询结果集中的位置。
领域 | |
---|---|
values[] | 表示位置的值,按照它们在查询的 order by 子句中出现的顺序排列。 包含的值可以少于 order by 子句中指定的值。 |
before | 如果位置位于给定值之前或之后,相对于查询定义的排序顺序。 |
删除文档请求
领域 | |
---|---|
name | 必需的。要删除的文档的资源名称。格式为: |
current_document | 文档的可选前提条件。如果目标文档未满足此设置,则请求将失败。 |
文档
Firestore 文档。
不得超过 1 MiB - 4 字节。
领域 | |
---|---|
name | 文档的资源名称,例如 |
fields | |
create_time | 仅输出。创建文档的时间。 当文档被删除然后重新创建时,该值单调增加。它还可以与其他文档的值和查询的 |
update_time | 仅输出。文档最后一次更改的时间。 该值最初设置为 |
文件变更
Document
已更改。
可能是多次writes
(包括删除)的结果,最终导致Document
产生新值。
如果多个目标受到影响,则同一逻辑更改可能会返回多个DocumentChange
消息。
领域 | |
---|---|
document | 如果设置了 |
target_ids[] | 与此文档匹配的目标的一组目标 ID。 |
removed_target_ids[] | 不再与此文档匹配的目标的一组目标 ID。 |
文档删除
Document
已被删除。
可能是多次writes
的结果,包括更新,其中最后一次删除了Document
。
如果多个目标受到影响,则同一逻辑删除可能会返回多个DocumentDelete
消息。
领域 | |
---|---|
document | 已删除 |
removed_target_ids[] | 先前与该实体匹配的目标的一组目标 ID。 |
read_time | 观察到删除的读取时间戳。 大于或等于删除的 |
文档掩码
文档上的一组字段路径。用于将对文档的获取或更新操作限制为其字段的子集。这与标准字段掩码不同,因为它的范围始终为Document
,并考虑到Value
的动态性质。
领域 | |
---|---|
field_paths[] | 掩码中的字段路径列表。有关字段路径语法参考,请参阅 |
文档删除
Document
已从目标视图中删除。
如果文档不再与目标相关并且不在视图中,则发送。如果服务器无法发送文档的新值,则可以发送而不是 DocumentDelete 或 DocumentChange。
如果多个目标受到影响,则同一逻辑写入或删除可能会返回多个DocumentRemove
消息。
领域 | |
---|---|
document | 已消失的 |
removed_target_ids[] | 先前与此文档匹配的目标的一组目标 ID。 |
read_time | 观察到删除的读取时间戳。 大于或等于更改/删除/移除的 |
文档转换
文档的转换。
领域 | |
---|---|
document | 要转换的文档的名称。 |
field_transforms[] | 按顺序应用于文档字段的转换列表。这不能为空。 |
场变换
文档字段的转换。
领域 | |
---|---|
field_path | 田野的路径。有关字段路径语法参考,请参阅 |
联合字段transform_type 。应用于现场的转变。 transform_type 只能是以下之一: | |
set_to_server_value | 将字段设置为给定的服务器值。 |
increment | 将给定值添加到字段的当前值。 这必须是整数或双精度值。如果该字段不是整数或双精度值,或者该字段尚不存在,则转换会将字段设置为给定值。如果给定值或当前字段值之一是双精度数,则这两个值都将被解释为双精度数。双精度算术和双精度值的表示遵循 IEEE 754 语义。如果存在正/负整数溢出,则将该字段解析为最大幅度的正/负整数。 |
maximum | 将字段设置为其当前值和给定值中的最大值。 这必须是整数或双精度值。如果该字段不是整数或双精度值,或者该字段尚不存在,则转换会将字段设置为给定值。如果在字段和输入值是混合类型(即,一个是整数,一个是双精度)的情况下应用最大运算,则字段将采用较大操作数的类型。如果操作数相等(例如3 和3.0),则该字段不会更改。 0、0.0 和 -0.0 均为零。零存储值和零输入值中的最大值始终是存储值。任何数值 x 和 NaN 中的最大值均为 NaN。 |
minimum | 将字段设置为其当前值和给定值中的最小值。 这必须是整数或双精度值。如果该字段不是整数或双精度值,或者该字段尚不存在,则转换会将字段设置为输入值。如果在字段和输入值是混合类型(即,一个是整数,一个是双精度)的情况下应用最小运算,则字段将采用较小操作数的类型。如果操作数相等(例如3 和3.0),则该字段不会更改。 0、0.0 和 -0.0 均为零。零存储值和零输入值中的最小值始终是存储值。任何数值 x 和 NaN 中的最小值均为 NaN。 |
append_missing_elements | 如果给定元素尚未出现在当前字段值中,则按顺序附加给定元素。如果该字段不是数组,或者该字段尚不存在,则首先将其设置为空数组。 在检查值是否缺失时,不同类型(例如 3L 和 3.0)的等效数字被视为相等。 NaN 等于 NaN,Null 等于 Null。如果输入包含多个等效值,则仅考虑第一个。 相应的transform_result将为空值。 |
remove_all_from_array | 从字段中的数组中删除所有给定的元素。如果该字段不是数组,或者该字段尚不存在,则将其设置为空数组。 在决定是否应删除某个元素时,不同类型的等效数字(例如 3L 和 3.0)被认为是相等的。 NaN 等于 NaN,Null 等于 Null。如果存在重复项,这将删除所有等效值。 相应的transform_result将为空值。 |
服务器价值
由服务器计算的值。
枚举 | |
---|---|
SERVER_VALUE_UNSPECIFIED | 未指定。不得使用该值。 |
REQUEST_TIME | 服务器处理请求的时间,精确到毫秒。如果在事务中的多个字段(相同或不同的文档)上使用,所有字段将获得相同的服务器时间戳。 |
存在过滤器
与给定目标匹配的所有文档的摘要。
领域 | |
---|---|
target_id | 此过滤器适用的目标 ID。 |
count | 与 如果与客户端中匹配的文档计数不同,则客户端必须手动确定哪些文档不再与目标匹配。 客户端可以使用 |
unchanged_names | 布隆过滤器,尽管其名称如此,但包含 该布隆过滤器可以由服务器自行决定省略,例如如果认为客户端不会使用它或者如果计算或传输其计算成本太高。客户端必须通过回退到该字段存在之前使用的逻辑来优雅地处理该字段的缺失;也就是说,在没有恢复令牌的情况下重新添加目标,以找出客户端缓存中的哪些文档不同步。 |
获取文档请求
领域 | |
---|---|
name | 必需的。要获取的文档的资源名称。格式为: |
mask | 要返回的字段。如果未设置,则返回所有字段。 如果文档具有此掩码中不存在的字段,则该字段将不会在响应中返回。 |
联合字段consistency_selector 。此事务的一致性模式。如果不设置,默认为强一致性。 consistency_selector 只能是以下之一: | |
transaction | 在事务中读取文档。 |
read_time | 读取给定时间的文档版本。 这必须是过去一小时内的微秒精度时间戳,或者如果启用了时间点恢复,则还可以是过去 7 天内的整分钟时间戳。 |
列表集合Ids请求
领域 | |
---|---|
parent | 必需的。父文档。格式为: |
page_size | 要返回的最大结果数。 |
page_token | 页面令牌。必须是 |
联合字段consistency_selector 。此请求的一致性模式。如果不设置,默认为强一致性。 consistency_selector 只能是以下之一: | |
read_time | 按给定时间的原样读取文档。 这必须是过去一小时内的微秒精度时间戳,或者如果启用了时间点恢复,则还可以是过去 7 天内的整分钟时间戳。 |
列表集合Ids响应
领域 | |
---|---|
collection_ids[] | 集合 ID。 |
next_page_token | 可用于继续列表的页面令牌。 |
列出文件请求
领域 | |
---|---|
parent | 必需的。父资源名称。格式为: 例如: |
collection_id | 选修的。要列出的集合 ID,相对于 例如: 这是可选的,如果未提供,Firestore 将列出所提供的 |
page_size | 选修的。单个响应中返回的最大文档数。 Firestore 返回的值可能会少于此值。 |
page_token | 选修的。从先前的 提供此信息以检索后续页面。分页时,所有其他参数( |
order_by | 选修的。要返回的文档的可选排序。 例如: 这反映了 Firestore 查询中使用的 |
mask | 选修的。要返回的字段。如果未设置,则返回所有字段。 如果文档具有此掩码中不存在的字段,则该字段将不会在响应中返回。 |
show_missing | 如果列表应显示缺少的文档。 如果文档不存在,则该文档缺失,但其下面嵌套有子文档。如果为 true,则此类丢失的文档将带有键返回,但不会设置字段、 带有 |
联合字段consistency_selector 。此事务的一致性模式。如果不设置,默认为强一致性。 consistency_selector 只能是以下之一: | |
transaction | 将读取作为已活动事务的一部分执行。 |
read_time | 在规定的时间执行读取。 这必须是过去一小时内的微秒精度时间戳,或者如果启用了时间点恢复,则还可以是过去 7 天内的整分钟时间戳。 |
列出文件响应
领域 | |
---|---|
documents[] | 找到的文件。 |
next_page_token | 用于检索下一页文档的令牌。 如果省略该字段,则没有后续页面。 |
监听请求
对Firestore.Listen
的请求
领域 | |
---|---|
database | 必需的。数据库名称。格式为: |
labels | 与此目标相关的标签发生变化。 |
联合字段target_change 。支持的目标发生变化。 target_change 只能是以下之一: | |
add_target | 添加到此流的目标。 |
remove_target | 要从此流中删除的目标的 ID。 |
监听响应
Firestore.Listen
的响应。
领域 | |
---|---|
联合字段response_type 。支持的回复。 response_type 只能是以下之一: | |
target_change | 目标已经改变。 |
document_change | |
document_delete | |
document_remove | |
filter | 应用于先前为给定目标返回的文档集的过滤器。 当文档可能已从给定目标中删除但确切文档未知时返回。 |
地图值
地图值。
领域 | |
---|---|
fields | 地图的字段。 映射键代表字段名称。与正则表达式 |
分区查询请求
领域 | |
---|---|
parent | 必需的。父资源名称。格式为: |
partition_count | 所需的最大分区点数。分区可以跨多页结果返回。该数字必须为正数。实际返回的分区数可能更少。 例如,这可以设置为比要运行的并行查询的数量少一,或者在运行数据管道作业时,设置为比可用的工作人员或计算实例的数量少一。 |
page_token | 从先前对 PartitionQuery 的调用返回的 例如,使用 page_token 的两个后续调用可能会返回:
要获得根据提供给 PartitionQuery 的查询结果排序的完整结果集,应合并结果集:游标 A、游标 B、游标 M、游标 Q、游标 U、游标 W |
page_size | 此调用中返回的最大分区数,取决于 例如,如果 |
联合字段query_type 。要分区的查询。 query_type 只能是以下之一: | |
structured_query | 结构化查询。查询必须指定包含所有后代的集合,并按名称升序排序。不支持其他过滤器、排序依据、限制、偏移量和开始/结束游标。 |
联合字段consistency_selector 。此请求的一致性模式。如果不设置,默认为强一致性。 consistency_selector 只能是以下之一: | |
read_time | 按给定时间的原样读取文档。 这必须是过去一小时内的微秒精度时间戳,或者如果启用了时间点恢复,则还可以是过去 7 天内的整分钟时间戳。 |
分区查询响应
领域 | |
---|---|
partitions[] | 分区结果。每个分区都是一个分割点,RunQuery 可以将其用作查询结果的起点或终点。 RunQuery 请求必须使用提供给此 PartitionQuery 请求的相同查询发出。分区游标将按照与提供给 PartitionQuery 的查询结果相同的顺序进行排序。 例如,如果 PartitionQuery 请求返回分区游标 A 和 B,则运行以下三个查询将返回原始查询的整个结果集:
空结果可能表示查询的结果太少而无法分区,或者查询尚不支持分区。 |
next_page_token | 页面令牌,可用于请求附加结果集,最多可达 PartitionQuery 请求中的 |
前提
文档的前提条件,用于条件操作。
领域 | |
---|---|
联合字段condition_type 。前提条件的类型。 condition_type 只能是以下之一: | |
exists | 当设置为 |
update_time | 设置后,目标文档必须存在并且在当时已进行最后更新。时间戳必须是微秒对齐的。 |
回滚请求
领域 | |
---|---|
database | 必需的。数据库名称。格式为: |
transaction | 必需的。要回滚的事务。 |
运行聚合查询请求
领域 | |
---|---|
parent | 必需的。父资源名称。格式为: |
联合字段query_type 。要运行的查询。 query_type 只能是以下之一: | |
structured_aggregation_query | 聚合查询。 |
联合字段consistency_selector 。查询的一致性模式,默认为强一致性。 consistency_selector 只能是以下之一: | |
transaction | 在已经处于活动状态的事务中运行聚合。 这里的值是执行查询的不透明事务 ID。 |
new_transaction | 作为查询的一部分启动新事务,默认为只读。 新的事务 ID 将作为流中的第一个响应返回。 |
read_time | 在给定时间戳执行查询。 这必须是过去一小时内的微秒精度时间戳,或者如果启用了时间点恢复,则还可以是过去 7 天内的整分钟时间戳。 |
运行聚合查询响应
领域 | |
---|---|
result | 单个聚合结果。 报告部分进度时不存在。 |
transaction | 作为此请求的一部分启动的事务。 仅当请求请求开始新事务时出现在第一个响应上。 |
read_time | 计算汇总结果的时间。这总是单调递增的;在这种情况下,结果流中的前一个 AggregationResult 保证在其 如果查询没有返回结果,则会发送带有 |
运行查询请求
领域 | |
---|---|
parent | 必需的。父资源名称。格式为: |
联合字段query_type 。要运行的查询。 query_type 只能是以下之一: | |
structured_query | 结构化查询。 |
联合字段consistency_selector 。此事务的一致性模式。如果不设置,默认为强一致性。 consistency_selector 只能是以下之一: | |
transaction | 在已处于活动状态的事务中运行查询。 这里的值是执行查询的不透明事务 ID。 |
new_transaction | 启动新事务并读取文档。默认为只读事务。新的事务 ID 将作为流中的第一个响应返回。 |
read_time | 按给定时间的原样读取文档。 这必须是过去一小时内的微秒精度时间戳,或者如果启用了时间点恢复,则还可以是过去 7 天内的整分钟时间戳。 |
运行查询响应
领域 | |
---|---|
transaction | 作为此请求的一部分启动的事务。只能在第一个响应中设置,并且仅当在请求中设置 |
document | 查询结果,报告部分进度时不设置。 |
read_time | 阅读文档的时间。这可能是单调递增的;在这种情况下,保证结果流中的前一个文档在其 如果查询没有返回结果,则会发送带有 |
skipped_results | 由于上次响应与当前响应之间的偏移而被跳过的结果数。 |
联合字段continuation_selector 。查询的继续模式。如果存在,则表明当前查询响应流已完成。可以在存在或不存在document 的情况下设置此值,但设置后,不会返回更多结果。 continuation_selector 只能是以下之一: | |
done | 如果存在,Firestore已经完全完成了请求,并且将不再返回文件。 |
构造构型
Firestore查询以在StructuredQuery
上运行聚合。
领域 | |
---|---|
aggregations[] | 选修的。一系列集合用于 要求:
|
联合字段query_type 。汇总的基本查询。 query_type 可以是以下一个: | |
structured_query | 嵌套结构化查询。 |
聚合
定义产生单个结果的聚合。
领域 | |
---|---|
alias | 选修的。将汇总结果存储到中的字段的可选名称。 如果未提供,Firestore将按照格式
变成:
要求:
|
联合现场operator 。需要执行的聚合类型。 operator 只能是以下一个: | |
count | 计数聚合器。 |
sum | 总计聚合器。 |
avg | 平均聚合器。 |
平均
请求字段的值的平均值。
仅数字值将被汇总。跳过了包括
NULL
在内的所有非数字值。如果汇总值包含
NaN
,则返回NaN
。无限数学遵循IEEE-754标准。如果集合值集为空,请返回
NULL
。始终将结果返回为双重。
领域 | |
---|---|
field | 集合的字段。 |
数数
匹配查询的文档计数。
COUNT(*)
聚合函数在整个文档上运行,因此它不需要字段参考。
领域 | |
---|---|
up_to | 选修的。可选约束要计数的最大文档数量。 这提供了一种在文档数量扫描,限制延迟和成本上设置上限的方法。 未指定的解释为无约束力。 高级示例:
要求:
|
和
请求字段的值的总和。
仅数字值将被汇总。跳过了包括
NULL
在内的所有非数字值。如果汇总值包含
NaN
,则返回NaN
。无限数学遵循IEEE-754标准。如果汇总值集为空,请返回0。
如果所有汇总数字都是整数,则返回一个64位整数,总和不会溢出。否则,结果将作为双重返回。请注意,即使所有汇总值都是整数,如果无法在64位签名的整数中返回结果,则结果也将以双重返回。发生这种情况时,返回的值将失去精度。
当底流发生时,浮点聚集是非确定性的。这意味着反复运行相同的查询,而不会对基础值进行任何更改,每次都会产生略有不同的结果。在这种情况下,值应作为整数以浮点数为单位存储。
领域 | |
---|---|
field | 集合的字段。 |
结构化查询
Firestore查询。
领域 | |
---|---|
select | 可选的子集返回。 这是对从查询返回的文档上的 |
from[] | 查询的收藏。 |
where | 要应用的过滤器。 |
order_by[] | 应用于查询结果的命令。 Firestore允许呼叫者提供完整的订购,部分订购或根本没有订购。在所有情况下,Firestore都可以通过以下规则保证稳定的订购:
字段的附加方式与指定的最后一个订单相同,如果未指定订单,则“上升”。例如:
|
start_at | 结果设置的位置的潜在前缀以启动查询。 结果集的排序基于原始查询的
该查询的结果由 光标可以参考位置的完整订购或前缀,尽管它不能比提供的 继续上面的示例,附加以下启动光标会产生不同的影响:
与需要在前N结果上进行扫描的 要求:
|
end_at | 结果设置的位置的潜在前缀可以结束查询。 这类似于 要求:
|
offset | 在返回第一个结果之前,要跳过的文档数量。 这适用于 要求:
|
limit | 要返回的最大结果数。 适用于所有其他约束。 要求:
|
CollectionsElector
选择集合,例如messages as m1
。
领域 | |
---|---|
collection_id | 收集ID。设置时,仅选择此ID的集合。 |
all_descendants | 当false时,仅选择是包含 |
复合式滤波器
使用给定运算符合并多个其他过滤器的过滤器。
领域 | |
---|---|
op | 合并多个过滤器的操作员。 |
filters[] | 要组合的过滤器列表。 要求:
|
操作员
复合过滤器操作员。
枚举 | |
---|---|
OPERATOR_UNSPECIFIED | 未指定。不得使用该值。 |
AND | 需要文档以满足所有合并过滤器。 |
OR | 需要文档以满足至少一个合并过滤器。 |
方向
一个方向。
枚举 | |
---|---|
DIRECTION_UNSPECIFIED | 未指定。 |
ASCENDING | 上升。 |
DESCENDING | 下降。 |
字段过滤器
特定字段上的过滤器。
领域 | |
---|---|
field | 要过滤的字段。 |
op | 操作员要过滤。 |
value | 比较的价值。 |
操作员
现场过滤器操作员。
枚举 | |
---|---|
OPERATOR_UNSPECIFIED | 未指定。不得使用该值。 |
LESS_THAN | 给定 要求:
|
LESS_THAN_OR_EQUAL | 给定 要求:
|
GREATER_THAN | 给定的 要求:
|
GREATER_THAN_OR_EQUAL | 给定的 要求:
|
EQUAL | 给定field 等于给定value 。 |
NOT_EQUAL | 给定 要求:
|
ARRAY_CONTAINS | 给定field 是包含给定value 的数组。 |
IN | 给定的 要求:
|
ARRAY_CONTAINS_ANY | 给定 要求:
|
NOT_IN | 要求:
|
现场参考
对文档中的字段的引用,例如: stats.operations
。
领域 | |
---|---|
field_path | 对文档中字段的引用。 要求:
|
筛选
过滤器。
领域 | |
---|---|
联合字段filter_type 。过滤器的类型。 filter_type 可能只是以下一个: | |
composite_filter | 复合滤波器。 |
field_filter | 文档字段上的过滤器。 |
unary_filter | 一个完全参数的过滤器。 |
命令
字段上的订单。
领域 | |
---|---|
field | 订购的字段。 |
direction | 订购方向。默认为 |
投影
文档字段的投影要返回。
领域 | |
---|---|
fields[] | 要返回的字段。 如果空,则返回所有字段。要仅返回文档的名称,请使用 |
Unaryfilter
带有单个操作数的过滤器。
领域 | |
---|---|
op | 申请的单一操作员。 |
联合字段operand_type 。过滤器的参数。 operand_type 可以是以下一项: | |
field | 应用操作员的字段。 |
操作员
一个单一操作员。
枚举 | |
---|---|
OPERATOR_UNSPECIFIED | 未指定。不得使用该值。 |
IS_NAN | 给定的field 等于NaN 。 |
IS_NULL | 给定的field 等于NULL 。 |
IS_NOT_NAN | 给定的 要求:
|
IS_NOT_NULL | 给定的 要求:
|
目标
一组要收听的文档的规范。
领域 | |
---|---|
target_id | 标识流上目标的目标ID。必须是正数,非零。 如果 请注意,如果客户端在没有ID的情况下发送多个 如果 |
once | 如果要在当前并保持一致后应删除目标。 |
expected_count | 最后一次与简历令牌或读取时间匹配查询的文档数量。 仅当提供 |
联合字段target_type 。要聆听的目标类型。 target_type 只能是以下一个: | |
query | 由查询指定的目标。 |
documents | 一组文档名称指定的目标。 |
联合领域 如果指定,仅在 | |
resume_token | 从先前的 使用具有不同目标的简历令牌是不受支持的,可能会失败。 |
read_time | 在特定的 客户目前必须知道匹配文档的状态。 |
DocumentStarget
一组文档名称指定的目标。
领域 | |
---|---|
documents[] | 要检索的文件的名称。以格式: |
查询目标
由查询指定的目标。
领域 | |
---|---|
parent | 父资源名称。以格式: |
联合字段query_type 。要运行的查询。 query_type 可以是以下一个: | |
structured_query | 结构化查询。 |
目标汇率
观看的目标发生了变化。
领域 | |
---|---|
target_change_type | 发生的变化类型。 |
target_ids[] | 目标的目标ID发生了变化。 如果为空,则更改适用于所有目标。 目标ID的顺序未定义。 |
cause | 如果适用,导致此更改的错误。 |
resume_token | 一个可以用于恢复给定 没有设置每个目标更改。 |
read_time | 给定的 每当整个流到达新的一致快照时,该流可以将 对于给定的流, |
TargetChangeType
变化的类型。
枚举 | |
---|---|
NO_CHANGE | 没有发生变化。仅用于发送更新的resume_token 。 |
ADD | 添加了目标。 |
REMOVE | 目标已删除。 |
CURRENT | 目标反映了在目标添加到流中之前所做的所有更改。 这将在 如果需要阅读后的语义,听众可以等待此更改。 |
RESET | 目标已经重置,并且目标将在随后的更改中返回。 初始状态完成后,即使先前指出的目标是 |
交易选项
创建新事务的选项。
领域 | |
---|---|
联合现场mode 。交易模式。 mode 只能是以下一个: | |
read_only | 该交易只能用于读取操作。 |
read_write | 该交易可用于读写操作。 |
只读
交易的选项,只能用于读取文档。
领域 | |
---|---|
联合字段consistency_selector 。此交易的一致性模式。如果未设置,则默认为强一致性。 consistency_selector 可以是以下一个: | |
read_time | 在给定时间读取文档。 这必须是过去一小时内的微秒精确时间戳,或者如果启用了时间点恢复,则可以在过去7天内是整个分钟时间戳。 |
读写
可用于读写文档的交易的选项。
Firestore不允许第三方Auth请求创建读写。交易。
领域 | |
---|---|
retry_transaction | 重试的可选交易。 |
UpdatedOcumentRequest
领域 | |
---|---|
document | 必需的。更新的文档。如果文档尚不存在,则创建该文档。 |
update_mask | 要更新的字段。掩码中的任何字段路径都不包含保留名称。 如果该文档存在于服务器上,并且在掩码中没有引用的字段,则将它们保持不变。蒙版中引用的字段(但在输入文档中不存在)从服务器上的文档中删除。 |
mask | 要返回的字段。如果未设置,请返回所有字段。 如果该文档具有此面具中不存在的字段,则该字段将不会在响应中返回。 |
current_document | 文档上的可选先决条件。如果设置此请求,则该请求将失败,而不是由目标文档满足。 |
价值
可以容纳任何受支持的值类型的消息。
领域 | |
---|---|
联合字段value_type 。必须具有值集。 value_type 只能是以下一个: | |
null_value | 空值。 |
boolean_value | 一个布尔值。 |
integer_value | 一个整数值。 |
double_value | 双重值。 |
timestamp_value | 时间戳值。 精确仅针对微秒。存储后,将任何其他精度都舍入。 |
string_value | 一个字符串值。 表示为UTF -8的字符串不得超过1 MIB -89字节。查询仅考虑UTF-8表示的前1,500个字节。 |
bytes_value | 一个字节值。 不得超过1 MIB -89字节。查询仅考虑前1,500个字节。 |
reference_value | 对文档的引用。例如: |
geo_point_value | 地理点值表示地球表面上的一个点。 |
array_value | 一个数组值。 不能直接包含另一个数组值,尽管可以包含包含另一个数组的映射。 |
map_value | 地图值。 |
写
在文档上写入。
领域 | |
---|---|
update_mask | 在本文中更新的字段。 仅当操作 |
update_transforms[] | 更新后要执行的转换。 仅当操作 |
current_document | 文档上的可选先决条件。 如果设置了这一点,而目标文档未满足,则写入将失败。 |
联合现场operation 。执行的操作。 operation 只能是以下一项: | |
update | 要写的文档。 |
delete | 要删除的文档名称。以格式: |
transform | 将转换应用于文档。 |
写请求
Firestore.Write
的请求。
第一个请求会创建流或从令牌中恢复现有的请求。
创建新流时,服务器会以仅包含ID和代币的响应回复,以在下一个请求中使用。
恢复流时,服务器首先流式流式流式,然后在下一个请求中使用的响应晚于给定令牌,然后仅包含最新令牌的响应。
领域 | |
---|---|
database | 必需的。数据库名称。格式: |
stream_id | 写流的ID恢复。这只能在第一条消息中设置。当剩下空白时,将创建一个新的写流。 |
writes[] | 该写作要申请。 始终按原子和顺序执行。这必须在第一个请求中为空。这可能是最后一个请求中的空。这不能在所有其他请求中为空。 |
stream_token | 以前由服务器发送的流令牌。 客户应从收到的最新 如果未被认可的响应太多,服务器可能会关闭流。 创建新流时,请保持此字段的尚不设置。要在特定点恢复流,请设置此字段和 创建新流时,请保持此字段的尚不设置。 |
labels | 与此写入请求关联的标签。 |
作家
Firestore.Write
的响应。
领域 | |
---|---|
stream_id | 流的 ID。仅在创建新的流时就设置在第一条消息上。 |
stream_token | 代表此响应在流中的位置的令牌。此时,客户可以使用这来恢复流。 该字段始终设置。 |
write_results[] | 应用写作的结果。 第i-th写入结果对应于在请求中写的第i-th。 |
commit_time | 提交发生的时间。任何具有相等或更大 |
写入结果
应用写作的结果。
领域 | |
---|---|
update_time | 应用写入后的最后更新时间。 如果写入实际上没有更改文档,则将是上一个update_time。 |
transform_results[] | 按照相同的顺序应用每个 |