Как получить только что обновленные данные только из Firestore? - PullRequest
0 голосов
/ 15 сентября 2018

Всегда получать весь документ, в то время как любые изменения найдены в Firestore. Как получить только недавно обновленные данные?

Это мои данные:

collections

Мне нужны msg и sendby в порядке объекта (например, 2018_09_17_30_40) внутри чата при первой загрузке, и я получаю только новые msg и sendby, если данные обновлены в то время как get () получает весь документ без какого-либо заказа Примечание. Код для приложения Android.

Ответы [ 2 ]

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

Ответ Алекса Мамо ведет меня к другому решению, потому что у меня была проблема с моделью в БД, поэтому я сделал сортировку коллекций по ключу

 JSONObject jsonChat = jsonObj.getJSONObject("chat");
                                ArrayList list = new ArrayList<>();
                                for (int i = 0; i < jsonChat.names().length(); i++) {
                                    list.add(jsonChat.names().getString(i));
                                }
                                Collections.sort(list);
0 голосов
/ 16 сентября 2018

Всегда получать весь документ, в то время как любые изменения обнаруживаются в пожарном хранилище.

Новая база данных Cloud Firestore отличается от базы данных Firebase в реальном времени, и ее не следует путать. Нет никаких разрешений на уровне поля или доступа к документу. Это весь документ или ничего. Слушатели Cloud Firestore запускают на уровне документа. Невозможно вызвать только что обновленные данные в документе.

Просматривая вашу базу данных, я могу сказать, что вы не выбрали правильную схему, добавив эти сообщения в свойстве чата.

Согласно официальной документации :

Cloud Firestore оптимизирован для хранения больших коллекций небольших документов.

Вы должны создать новую коллекцию с именем messages и хранить каждое сообщение как отдельный документ. В приведенной выше ссылке есть примеры того, как этого добиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...