Могу ли я использовать транзакции и пакетные записи только для чтения? - PullRequest
0 голосов
/ 23 сентября 2019

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

Например:

Я вошел в систему через кнопку Googleи имя игрока - Player1

Первое соединение: я хочу прочитать 10 лучших игроков, у которых есть алмазы.

Второе соединение: я хочу прочитать алмазы Player1.

Могу ли я сначала смешать ивторое соединение в одном соединении.

Поскольку я хочу, если первое соединение не удалось, отмените второе соединение.Или, если первое подключение установлено успешно, а второе - не удалось, отмените первое подключение и т. Д., Надеюсь, вы понимаете, о чем я.

1 Ответ

0 голосов
/ 23 сентября 2019

Транзакции и пакетные записи являются операциями записи.Для операций чтения нет ничего подобного, и в этом нет необходимости.

Если вы хотите завершить последующее чтение, вам следует:

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

После прочтения вашего вопроса звучит так, как будто вы хотите объединить информацию об игроке на стороне клиента для 10 лучших игроков.Обычно это приводит к 11 чтениям.

  • Запрос на получение 10 лучших результатов, который включает в себя UID игрока.
  • 10 отдельных документов читаются для получения профиля каждого лучшего игрока.

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

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