【发布时间】:2020-05-26 04:09:17
【问题描述】:
我正在尝试从 Google Cloud Firestore 中删除地图。
我使用以下代码在 Firestore 中进行更新
fun updateData(userId: String, values: Map<String, Any>) =
db.collection(COLLECTION_DATA).document(Id).update(values)
该文档包含为 google 登录生成的使用的 id,并且文档中的字段之一是 map<Key,Value> 。我正在尝试删除字段的内容(删除特定的<key,value> 对)
我在调用上述firestore函数时将(userId, mapOf("FieldName.${Key}" to FieldValue.arrayRemove(Value)))作为参数传递。
但在 Firestore 中更新值后,键被遗漏并且值被清除。
如果我将(userId, mapOf("FieldName" to FieldValue.arrayRemove(Key))) 作为参数传递,那么整个map<> 将被删除(这是我想要的),但在执行更新后字段的数据结构将转换为数组。
【问题讨论】:
-
我不清楚您到底要删除什么。请编辑问题以解释更新前文档中的确切内容,以及更新后您希望它包含的内容。如果不容易用文字说明,文档的屏幕截图可能会有所帮助。
-
我已经编辑了这个问题。我希望现在可以理解了。感谢您的回复
标签: android firebase kotlin google-cloud-firestore