Firebase дочерние узлы удаляются случайным образом в случайное время
У меня есть проект Firebase с большим количеством дочерних узлов на узел (в диапазоне от 100k +), и он использует базу данных в реальном времени. Проблема заключается в том, что иногда, совершенно случайно, несколько дочерних элементов просто удаляются.
Например, учитывая следующую структуру базы данных:
**Project** (root)
users
user1
user2
user3
.
.
.
user100000
один из узлов среди user1, user2 .. user100000 будет просто случайно удален. Это происходит случайным образом из ниоткуда, я не могу воспроизвести его, и это влияет только на менее чем 1% времени, поэтому из более чем 100 тысяч детей только 200 миллионов исчезнут в течение 3 месяцев. Я прошел каждую строку кода, но нет функции, которая удаляет узел. Я использую только updateChildValues
, observe(.childAdded...
, observeSingleEvent
и queryOrdered
. Не существует единственного метода, который начинается с remove
. Любые идеи о том, почему это происходит?
Моя первая интуиция - я вызываю некоторый API записи, такой как setValue
или updateValue
с Nil
, но я нахожусь на Swift, и это невозможно. Я также посмотрел на Обновление Firebase Web () удаляет все остальные дочерние узлы , но это фактически удаляет каждого дочернего узла, кроме того, который добавляется, что определенно не происходит со мной. Кто-нибудь тоже сталкивался с этой проблемой? Любая помощь могла бы быть полезна. Спасибо.
----- EDIT -----
Вот несколько примеров API, которые я использую с функцией записи. Переменная item - это словарь, определяемый как let.
let databaseRef = Database.database().reference()
newReferece = databaseRef.child("users").child(UID)
newReferece.setValue(item)
Другой:
theAPI.REF?.updateChildValues(dict, withCompletionBlock: { (error, ref) in
if error != nil {
onError(error!.localizedDescription)
} else {
onSuccess()
}
})