Дочерние узлы Firebase удаляются случайным образом - PullRequest
1 голос
/ 12 октября 2019

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()
                }
            })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...