У меня есть сценарий использования, в котором мне нужно очистить дочерний элемент и всех дочерних элементов из документа в firebase.
RootLevel.ObjectToClear
Объект для очистки содержит несколько различных типов данных (int, float64, string, map [string] customStruct)
Я попытался просто создать пустой «объект для очистки» и перезаписать его.
emptyObject := objectToClear{}
rootObject.objectToClear = emptyObject
Это, похоже, отлично работает для всего, кроме map [string] customStruct. Я даже пытался явно удалить все ключи на карте, но это тоже не сработало.
for k := range rootObject.objectToClear.MyMap {
delete(rootObject.objectToClear.MyMap, k)
}
Если это имеет значение, при объединении я использую функцию "MergeAll".
firestorehelper.MergeAll(path, workoutMap)
Очевидно, я что-то упускаю из-за того, как работает взаимодействие MAP, но я не уверен, что именно. Любая помощь будет высоко ценится.