You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何发起Firestore REST API PATCH请求并获取对应文档路径?

Firestore PATCH 请求使用指导

1. 构造请求URL

你已经调试通的GET请求对应文档的路径可以直接复用,按你拿到的PATCH格式替换占位符即可:

  • 替换{project_id}:和你GET请求里的YOUR_PROJECT_ID一致,为你的Firebase项目ID
  • 替换{database_id}:使用默认数据库的场景填(default)即可
  • 替换{document_path}:为目标文档的相对路径,你要修改cities集合下的LA文档的话,这里填cities/LA
  • 替换updateMask.fieldPaths后的取值:为你要修改的字段名,比如你数据库的单个字段叫city_name,这里就填city_name

举个实际示例,假设你的项目ID为test-project-123,要修改cities/LA文档的city_name字段,最终的请求URL为:
https://firestore.googleapis.com/v1/projects/test-project-123/databases/(default)/documents/cities/LA?updateMask.fieldPaths=city_name

2. 构造请求体

请求体需要按Firestore的类型规范编写,不同字段类型对应不同的key:

  • 字符串类型对应stringValue
  • 整数类型对应integerValue
  • 布尔类型对应booleanValue

比如要将city_name字段的值修改为Los Angeles,请求体如下:

{
  "fields": {
    "city_name": {
      "stringValue": "Los Angeles"
    }
  }
}

3. 补充请求头

和GET请求逻辑一致,请求头中需要添加认证信息:Authorization: Bearer 你的有效访问令牌,否则会触发权限报错。

文档路径获取方法

文档路径和你GET请求路径末尾的集合+文档层级完全一致,也可以直接在Firestore控制台查看:打开控制台找到对应的集合,再选中目标文档,路径就是集合名/文档名,如果有子集合的话按层级拼接即可,比如cities/LA/streets/5th对应cities集合下LA文档的子集合streets里的5th文档。

补充说明

如果需要同时修改多个字段,在URL后追加多个updateMask.fieldPaths参数即可,比如要同时修改city_name和population两个字段,URL参数部分为?updateMask.fieldPaths=city_name&updateMask.fieldPaths=population,请求体的fields字段内同步添加两个字段的配置即可。


内容的提问来源于stack exchange,提问作者angrybird

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:24:01