Method: projects.databases.documents.runQuery

运行查询。

HTTP请求

POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:runQuery

URL 使用gRPC 转码语法。

路径参数

参数
parent

string

必需的。父资源名称。格式为: projects/{projectId}/databases/{databaseId}/documentsprojects/{projectId}/databases/{databaseId}/documents/{document_path} 。例如: projects/my-project/databases/my-database/documentsprojects/my-project/databases/my-database/documents/chatrooms/my-chatroom

请求正文

请求正文包含具有以下结构的数据:

JSON 表示
{

  // Union field query_type can be only one of the following:
  "structuredQuery": {
    object (StructuredQuery)
  }
  // End of list of possible types for union field query_type.

  // Union field consistency_selector can be only one of the following:
  "transaction": string,
  "newTransaction": {
    object (TransactionOptions)
  },
  "readTime": string
  // End of list of possible types for union field consistency_selector.
}
领域
联合字段query_type 。要运行的查询。 query_type只能是以下之一:
structuredQuery

object ( StructuredQuery )

结构化查询。

联合字段consistency_selector 。此事务的一致性模式。如果不设置,默认为强一致性。 consistency_selector只能是以下之一:
transaction

string ( bytes format)

在已处于活动状态的事务中运行查询。

这里的值是执行查询的不透明事务 ID。

Base64 编码的字符串。

newTransaction

object ( TransactionOptions )

启动新事务并读取文档。默认为只读事务。新的事务 ID 将作为流中的第一个响应返回。

readTime

string ( Timestamp format)

按给定时间的原样读取文档。

这必须是过去一小时内的微秒精度时间戳,或者如果启用了时间点恢复,则还可以是过去 7 天内的整分钟时间戳。

RFC3339 UTC“Zulu”格式的时间戳,具有纳秒分辨率和最多九个小数位。示例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

响应体

Firestore.RunQuery的响应。

如果成功,响应正文包含具有以下结构的数据:

JSON 表示
{
  "transaction": string,
  "document": {
    object (Document)
  },
  "readTime": string,
  "skippedResults": integer,

  // Union field continuation_selector can be only one of the following:
  "done": boolean
  // End of list of possible types for union field continuation_selector.
}
领域
transaction

string ( bytes format)

作为此请求的一部分启动的事务。只能在第一个响应中设置,并且仅当在请求中设置RunQueryRequest.new_transaction时。如果设置,则此响应中不会设置其他字段。

Base64 编码的字符串。

document

object ( Document )

查询结果,报告部分进度时不设置。

readTime

string ( Timestamp format)

阅读文档的时间。这可能是单调递增的;在这种情况下,保证结果流中的前一个文档在其readTime与当前文档之间不会发生更改。

如果查询没有返回结果,则将发送带有readTime且没有document响应,这表示查询运行的时间。

RFC3339 UTC“Zulu”格式的时间戳,具有纳秒分辨率和最多九个小数位。示例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

skippedResults

integer

由于上次响应与当前响应之间的偏移而跳过的结果数。

联合字段continuation_selector 。查询的继续模式。如果存在,则表明当前查询响应流已完成。可以在存在或不存在document的情况下设置此值,但设置后,不会返回更多结果。 continuation_selector只能是以下之一:
done

boolean

如果存在,Firestore 已完全完成请求,并且不会返回更多文档。

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

有关详细信息,请参阅身份验证概述