Является ли использование SnapshotParser при обращении к пожарному хранилищу дорогостоящей операцией? - PullRequest
0 голосов
/ 27 августа 2018

Использует ли SnapshotParser при запросе Firestore дорогую операцию с точки зрения операции чтения?

Мы создаем запрос в нашем приложении следующим образом:

  options = new FirestoreRecyclerOptions.Builder<Item>()
                    .setQuery(query, new SnapshotParser<Item>() {
                        @NonNull
                        @Override
                        public Item parseSnapshot(@NonNull DocumentSnapshot snapshot) {
                            Item item = snapshot.toObject(Item.class);
                            item.setId(snapshot.getId());
                            return item;
                        }
                    })
                    .setLifecycleOwner(this)

Так, при чтении данных с сервера SnapshotParser выполнит дополнительную операцию чтения (или снова ударит по серверу) или проанализирует, используя уже прочитанные данные?

Будет ли это та же операция (с точки зрения попадания на сервер) с SnapshotParser или без него?

Пожалуйста, объясните, если что-то пропущено, пожалуйста, дайте мне знать? Извините за плохой английский.

1 Ответ

0 голосов
/ 27 августа 2018

Из официальной документации Firebsase-UI Библиотека:

Если вам нужно настроить анализ класса вашей модели, вы можете использовать пользовательский SnapshotParser.

Так что, если вам нужно настроить класс модели, это не значит, что вы создаете дополнительные операции чтения. Метод parseSnapshot() использует в качестве аргумента объект DocumentSnapshot, который содержит набор данных, который вы получаете из базы данных, за которую уже взимается плата за операции чтения. Это происходит, если запрос возвращает данные. Если ваш запрос не возвращает никаких данных, с вас все равно взимается плата, но только за одну операцию чтения.

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