Я думаю, проблема была в том, что я был на уровне following
и не указал идентификатор для удаления правильно. так что он просто удалил все внутри following
. Задав идентификатор и удалив его, вот так:
func removeUserFromFriendsList(friendToRemove id: String, _ currentUserId: String, completion: @escaping(Bool)->()) {
let friendsRef = db.collection(USERS_COLLECTION).document(currentUserId)
friendsRef.updateData([
USER_FOLLOWING + "." + id : FieldValue.delete()
]) { (error) in
if error != nil {
completion(false)
}
completion(true)
}
}
USER_FOLLOWING
- это имя поля в базе данных (иначе, «после»).
Добавление +"." + и идентификатор просто указывают, какой идентификатор мы хотим удалить, поэтому выглядит так:
following.AP3ENXgW2mhvaWsUeDOxchYaAGm1 <--- the field and id to delete
, а затем с помощью FieldValue.delete
полностью его удаляем.
РЕДАКТИРОВАТЬ:Ответ найден здесь:
Как удалить элемент массива из вложенного документа в firebase?