Я пытаюсь удалить карту <> из Google Cloud Firestore.
Я использую следующий код для обновления в Firestore
fun updateData(userId: String, values: Map<String, Any>) =
db.collection(COLLECTION_DATA).document(Id).update(values)
Документ содержит используемый идентификатор, сгенерированный для войдите в систему Google, и одно из полей в документе - map<Key,Value>
. Я пытаюсь удалить содержимое поля (удаляя указанную пару c <key,value>
)
Я передаю (userId, mapOf("FieldName.${Key}" to FieldValue.arrayRemove(Value)))
в качестве параметра при вызове указанной выше функции firestore.
Но после обновления значения в Firestore ключ остается, а значения очищаются.
Если я передаю (userId, mapOf("FieldName" to FieldValue.arrayRemove(Key)))
в качестве параметра, то весь map<>
удаляется (это то, что я хочу), но структура данных поля преобразуется в массив после выполнения обновления.