Firestore使用Rest API更新文档字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firestore使用Rest API更新文档字段相关的知识,希望对你有一定的参考价值。
我试图使用REST API在云firestore中执行BATCH操作。
这是我的申请机构
`{
"fields": {
"name": {
"stringValue":"Dinesh"
}
}
}`
当我触发请求时,文档中的所有现有字段都将被删除,只有名称字段才会更新。在文档中,他们给出了文档掩码Document Mask。但我不明白它是如何工作的,也无法找到任何样品。有人知道如何只更新文档中的一个字段而不影响其他字段?
如果没有DocumentMask对象,补丁方法默认使用请求正文替换Firestore文档,而不是更新提交的字段并保留省略的字段。
DocumentMask作为updateMask参数提交,其中包含要修补的fieldPaths。花了一段时间,但thanks to this answer和很多尝试我发现updateMask对象的每个fieldPath属性需要单独包含在请求URL的查询字符串中:
https://firestore.googleapis.com/v1beta1/projects/{projectId}/databases/{databaseId}/documents/{document_path}?updateMask.fieldPaths=status&updateMask.fieldPaths=title
其中status
和title
是请求正文中的两个字段。请注意,如果从查询字符串中省略了请求正文中包含的字段,则这些字段将保持不变。
你的请求正文是好的。但是您需要使用更新掩码。
通过阅读文档,我发现DocumentMask用于将文档的获取或更新操作限制为其字段的子集。因此,通过在掩码上的字段路径中添加“名称”,它只允许您更新该特定字段,而其他字段不会被删除。
你可以阅读更多关于它here。
以上是关于Firestore使用Rest API更新文档字段的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法使用Firestore安全规则使用FieldValue.increment()更新文档字段?
有没有办法根据 firebase Auth 用户信息更新 firestore 文档字段?