Как я могу получить последнюю запись из базы данных Firebase Realtime - PullRequest
1 голос
/ 13 апреля 2020

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

Это база данных в реальном времени:

1 Ответ

2 голосов
/ 13 апреля 2020

Предполагая, что самый большой ключ (4 здесь) является самой последней записью, вот как напрямую получить его с помощью pyrebase:

firebase = pyrebase.initialize_app(config)
db = firebase.database()

last_record = db.child('input').order_by_key().limit_to_last(1).get().val()

print(last_record)
# should print OrderedDict([('4', {'input1': ..., 'input2': ..., 'input3': ...})])

order_by_key заказов в порядке возрастания по умолчанию , а limit_to_last(1) гарантирует, что вы извлекаете только одну запись, являющуюся последней в запросе.

Однако существует ошибка для вызова order_by в библиотеке pyrebase . К счастью, его вилка, pyrebase4, исправила его, поэтому обязательно используйте этот:

$ pip uninstall pyrebase && pip install pyrebase4
...