Как наблюдать изменение значения в дочернем узле в базе данных Firebase в Swift? - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть база данных Firebase в реальном времени, в которой я храню некоторые открытые данные чата на дискуссионном форуме, и теперь для добавления функции мне нужно знать, сколько новых текстовых сообщений есть в определенной теме обсуждения. Ниже я прилагаю снимок экрана, чтобы лучше понять структуру таблицы мне нужно узнать, сколько новых дочерних элементов добавлено в разделе convo из родительского узла, из раздела списка convo.

enter image description here

1 Ответ

0 голосов
/ 17 сентября 2018

Сначала вы получаете ссылку на конволист в базе данных

private lazy var convolistReference: FIRDatabaseReference = FIRDatabase.database().reference().child("convo")

Затем вам нужно пройтись по всем элементам вашего конволиста и посчитать ваш разговор новыми детьми

convolistReference.observeSingleEvent(of: .value, with: { (snapshot) in
    for snap in snapshot.children {
       if let snap = snap as? FIRDataSnapshot {
          if let value = snap.value as? [String: Any] {
              if let convo = value["convo"] as? [[String: Any]] {  
                  print(convo.count.description) // here you get number of childs for every convo that you might have
              }
          }        
       }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...