firebase / firebase/firebase-admin-python

[FR] Complex database queries should support realtime updates

未关闭
#598 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
api: database type: feature request
主要语言
Python
星标
1.2k
派生
359
平均合并
5 天 6 分钟
30 天内合并 PR
2

描述

**Is your feature request related to a problem? Please describe.**
There is currently no listen() function for complex queries. This means that you for example cannot listen for realtime updates on the result of order_by_child().

This feature is supported by the underlying REST API, and also in the pyrebase Python client library.

**Describe the solution you'd like**
A listen() function in the Query class.

**Describe alternatives you've considered**
- Use pyrebase
- Do sorting and filtering client-side

**Additional context**

Adding the following code into the Query class seems to be enough to implement this feature:

```
def listen(self, callback):
return self._listen_with_session(callback)

def _listen_with_session(self, callback, session=None):
url = self._client.base_url + self._pathurl
if not session:
session = self._client.create_listener_session()

try:
sse = _sseclient.SSEClient(url, session, params=self._querystr)
return ListenerRegistration(callback, sse)
except requests.exceptions.RequestException as error:
raise _Client.handle_rtdb_error(error)
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。