Method: projects.databases.documents.batchWrite

应用批量写入操作。

document.batchWrite 方法不会以原子方式应用写入操作,而是会不按顺序应用这些操作。方法不允许每个文档执行多次写入。每次写入都会独立成功或失败。请参阅 BatchWriteResponse 了解每次写入的成功状态。

如果您需要一组以原子方式应用的写入,请改用 documents.commit

HTTP 请求

POST https://firestore.googleapis.com/v1/{database=projects/*/databases/*}/documents:batchWrite

网址采用 gRPC 转码语法。

路径参数

参数
database

string

必需。数据库名称。格式为:projects/{projectId}/databases/{databaseId}

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "writes": [
    {
      object (Write)
    }
  ],
  "labels": {
    string: string,
    ...
  }
}
字段
writes[]

object (Write)

要应用的写入。

该方法不会以原子方式应用写入,也不保证排序。每次写入都会独立成功或失败。针对每个请求,您不能多次向同一文档写入数据。

labels

map (key: string, value: string)

与此批量写入关联的标签。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

响应正文

来自 Firestore.BatchWrite 的响应。

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

JSON 表示法
{
  "writeResults": [
    {
      object (WriteResult)
    }
  ],
  "status": [
    {
      object (Status)
    }
  ]
}
字段
writeResults[]

object (WriteResult)

应用写入的结果。

第 i 个写入结果对应于请求中的第 i 个写入。

status[]

object (Status)

应用写入的状态。

第 i 个写入状态对应于请求中的第 i 个写入。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览