Firebase читать последние данные из базы данных - PullRequest
1 голос
/ 17 марта 2019

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

  1. Я использую рут Players и планирую хранить пару данных для каждого игрока. Пример: Players/User ID/[level, score, XP, etc..]. Я использую метод push, я должен рассмотреть транзакцию? Насколько я понял, так как только 1 игрок собирается писать свои собственные данные, толчка кажется достаточно? Я прав?

  2. Для базы данных я хочу обновить только данные игрока (после завершения каждой игры данные будут обновляться), так что мне все еще нужен ключ? Честно говоря, для моего случая я все еще не понимал необходимость ключа :) Что произойдет, если я им не пользуюсь, поскольку на игрока приходится только 1 набор данных?

  3. Если ключ необходим (хотя я все еще не понял :)), как мне прочитать последние данные из структуры (childUpdates["/Players/" + uid + "/" + key])? Поскольку ключ является конкретным, и я не знаю его при извлечении данных, как я могу использовать его для извлечения данных?

My Database

enter image description here

Заранее спасибо,

1 Ответ

1 голос
/ 17 марта 2019

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

Когда вы вызываете Push() для местоположения, Firebase автоматически генерирует новые уникальные дочерние узлы под этим местоположением.Если вы хотите сохранить только один набор свойств (level, score и т. Д.) Для каждого игрока, вам не следует вызывать push, а вместо этого вызывать SetValueAsync() непосредственно в локации.

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