Сортировка в хронологическом порядке проста, если вы используете метку времени Unix, например, 1547608677790
с использованием метода .orderBy
. Тем не менее, это оставляет вам потенциальную гору запросов для повторения (по одному на каждого друга).
Итак, я думаю, вы хотите переосмыслить схему хранилища данных.
Воспользуйтесь преимуществами облачных функций для триггеров Firebase . Когда пишется новый пост, пусть облачная функция подсчитает, кто все должен его видеть. Каждый пользователь может иметь свойство типа массива, содержащее все unread-posts
, read-posts
и т. Д.
Нечто подобное будет быстрым и наименее затратным.
Просто запишите свою собственную реализацию MessageFormat без этой раздражающей функции. Можно посмотреть на код Регистратора SLF4J.
У них есть своя собственная версия средства форматирования сообщения, которое может использоваться, как сопровождается:
logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
Пустые заполнители могли использоваться с упорядочиванием по умолчанию и нумероваться для некоторых случаев локализации, где различные языки делают перестановки слов или части предложений.
В конце мы решили обойти проблему одинарной кавычки, всегда используя 'изогнутые' кавычки:
warning.item = This item\u2019s {0} is not valid.
Используйте 'символ вместо' для заключения в кавычки. Мы используем все это время без проблем.
Используйте MessageFormat только при необходимости в нем иначе они только чрезмерно увеличивают размер кода и не имеют никакого дополнительного значения.
Другая альтернатива... При загрузке файла свойств просто перенесите inputstream в FilterInpuStream, который сгибает каждую кавычку.
По-моему, непротиворечивость важна для этого вида вещи. Файлы свойств и MessageFormat уже имеют много ограничений. Если Вы находите, что они беспокоящие Вас могли бы "скомпилировать" Ваши файлы свойств для генерации правильно сформированных. Но я сказал бы, идут с использованием MessageFormat везде. Таким образом, поскольку Вы поддерживаете код, который Вы не должны волновать, о котором отформатированы строки и которые не являются. Становится более просто иметь дело с, так как можно вручить от обработки сообщения библиотеке и не волноваться о деталях на высоком уровне.