正如文档中所列出的,这里有一种使用点表示法更新 map 字段的方法: https://firebase.google.com/docs/firestore/manage-data/add-data#update_fields_in_nested_objects
但它没有提到添加或删除它们的方法。 想到的解决方案是读取 map 字段,添加到其中并再次重写 map 。 这是要走的路吗?或者还有另一种更有效的方法来做到这一点,就像这里提到的数组一样: https://firebase.google.com/docs/firestore/manage-data/add-data#update_elements_in_an_array
最佳答案
如果您认为 update()
不适用于添加新的 map 字段值(如链接文档中所示),请尝试使用合并设置:
Map<String, Object> update = new HashMap<>();
update.put("map.property", "value");
docRef.set(update, SetOptions.merge());
要删除,请使用 FieldValue.delete()
,如 documentation 中所述。 :
Map<String,Object> update = new HashMap<>();
update.put("map.property", FieldValue.delete());
docRef.update(update);
关于android - 如何从 Firestore map 字段添加/删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61257085/