在 Firestore 中,如果我尝试更新现有文档的字段,但该字段不存在,会发生什么情况?

问题描述 投票:0回答:1

假设我在 Firestore 中有一个集合。该集合有一些文档,但并非所有文档都具有相同的字段。例如,ID 为“house”的一个文档可能具有“地址”和“颜色”字段,而 ID 为“car”的另一文档仅具有“颜色”字段。

如果我引用了包含两个文档的集合,并且我尝试

update()
“汽车”文档的“地址”字段(当“汽车”没有“地址”字段时),会发生什么?

例如:

// car fields: color (string)
CollectionReference collectionRef = fireStoreService.getCollection("collection");
collectionRef.document("car").update("address", "123 Playground Street");

我尝试搜索文档(12)和代码示例(3)来寻找这个问题的答案,但我找不到任何东西。我能找到的最好的信息来自来源#2,其中说:

“如果文档尚不存在,则更新失败”

但这并没有描述如果文档存在但字段不存在会发生什么。

java android firebase google-cloud-platform google-cloud-firestore
1个回答
0
投票

ID 为“house”的一个文档可能具有“地址”和“颜色”字段,而 ID 为“car”的另一个文档仅具有“颜色”字段。

在包含不同字段的同一个集合文档中完全没问题。

如果我引用了包含两个文档的集合,并且我尝试

update()
“汽车”文档的“地址”字段(当“汽车”没有“地址”字段时),会发生什么?

如果您尝试更新文档,例如没有“地址”字段的“汽车”文档,则更新操作有效,并且会将“地址”字段添加到文档中。另一方面,当您更新已包含“地址”字段的文档时,更新操作会将现有字段的值更改为新值。

© www.soinside.com 2019 - 2024. All rights reserved.