Я работаю над приложением чата.Я хочу получить последние 20 сообщений из базы данных Firebase и по порядку, сообщение было добавлено.Например, если я отправил 3 разных сообщения «Привет», «Что случилось», «Пока».Я должен получить «Привет», «Что случилось», «Пока» в том же порядке.
Я использую следующий запрос.
ref.child(Constants.messageListKey).child("-Laray524a9Na-C7zdij").queryLimited(toLast: Constants.messageLimitPerCall).observeSingleEvent(of: .value, with: { (snapshot) in
let currentUserChatList = snapshot.value as? NSDictionary
if let chatList = currentUserChatList?.allKeys {
// parsing the data here
}
}
Я даже пытался использовать .queryOrderedByKey()
и .queryOrdered(byChild:)
но все тот же результат.
Результат, который я получаю, не в порядке.Например, я получаю "Что случилось", "Привет", "Пока".Результат даже не в порядке возрастания, ни в порядке убывания.Это просто случайный порядок.
Схема, которую я использую, выглядит следующим образом:
-chatList
-autogeneratedKey
-msg = "Some Message"
Есть ли что-то, чего мне не хватает?Если есть какие-либо детали, которые я пропустил, пожалуйста, дайте мне знать, чтобы лучше понять мой вопрос.