android - 如何从 Firestore map 字段添加/删除?

标签 android firebase google-cloud-firestore

正如文档中所列出的,这里有一种使用点表示法更新 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/

相关文章:

java - 获取屏幕宽度 Android

java - 如何设置 Firebase Storage 存储订阅???因此用户使用我的应用程序,但他们必须支付额外的存储费用

android - 为什么 Facebook 登录 session 返回授权异常?

android - 如何防止由 MediaCodec.dequeueInputBuffer 生成的 java.lang.IllegalStateException

swift - 如果用户在 Swift 中不活跃则发送推送通知

database - Firebase消息未按命令草稿保存

Firebase firestore 文档更改

reactjs - 如何编写文档 Firestore

android - 科尼 : Ant build error=exec-shell returned: 1

firebase - Firestore REST API |如何将 firestore Rest api 与 postman 一起使用