假设我在 Firestore 中有一个集合。该集合有一些文档,但并非所有文档都具有相同的字段。例如,ID 为“house”的一个文档可能具有“地址”和“颜色”字段,而 ID 为“car”的另一文档仅具有“颜色”字段。
如果我引用了包含两个文档的集合,并且我尝试
update()
“汽车”文档的“地址”字段(当“汽车”没有“地址”字段时),会发生什么?
例如:
// car fields: color (string)
CollectionReference collectionRef = fireStoreService.getCollection("collection");
collectionRef.document("car").update("address", "123 Playground Street");
我尝试搜索文档(1,2)和代码示例(3)来寻找这个问题的答案,但我找不到任何东西。我能找到的最好的信息来自来源#2,其中说:
“如果文档尚不存在,则更新失败”
但这并没有描述如果文档存在但字段不存在会发生什么。
ID 为“house”的一个文档可能具有“地址”和“颜色”字段,而 ID 为“car”的另一个文档仅具有“颜色”字段。
在包含不同字段的同一个集合文档中完全没问题。
如果我引用了包含两个文档的集合,并且我尝试
“汽车”文档的“地址”字段(当“汽车”没有“地址”字段时),会发生什么?update()
如果您尝试更新文档,例如没有“地址”字段的“汽车”文档,则更新操作有效,并且会将“地址”字段添加到文档中。另一方面,当您更新已包含“地址”字段的文档时,更新操作会将现有字段的值更改为新值。