Я понимаю, что вы опубликовали ответ, и хотя он будет работать, существуют некоторые ограничения.
Если пользователь публикует миллион сообщений, попытка загрузить все из них и выполнить сортировку в коде может привести к перегрузке устройства.даже если количество узлов меньше, Firebase выполняет сортировку и представление данных гораздо быстрее, чем процесс всего приложения.
Очень часто вы обнаружите, что решением является дублирование данных.в зависимости от типов запросов, которые вы хотите выполнить.В этом случае у вас есть узел, в котором хранится идентификатор пользователя и отметка времени каждого сообщения
Procedure
post_0
uid: uid_0
timestamp: 20190529
post 1
uid: uid_0
timestamps: 20190530
. Как вы упомянули, вы можете запрашивать все сообщения из uid_0 и сортировать по отметке времени в коде.Но, проверьте это ...
user_posts
uid_0
post_0: 20190529
post_1: 20190530
При добавлении дополнительного узла, который отслеживает сообщения пользователя, запрос может быть исключен, так как все сообщения хранятся в одном месте и могут быть легко отсортированына сервере.
Я выброшу еще одну опцию, составные значения.
Procedure
post_0:
uid_timestamp: uid_0_20190529
post_1:
uid_timestamp: uid_0_20190530
Используя эту структуру, вы можете запрашивать все сообщения uid_0, упорядоченные по uid_timestamp.