Firebase 实时数据库 REST 事件流:不要下载整棵树
Firebase realtime database REST event stream: do not download the whole tree
我正在使用 Firebase 实时数据库 REST API 在数据上传时从服务器流式传输事件(参见 https://firebase.google.com/docs/reference/rest/database#section-streaming-cancel)
但是,当我启动事件流时,它总是下载整个树。我不需要那个,我只想接收实时更改。示例:
GET https://[PROJECT_ID].firebaseio.com/database.json
// I want to get rid of this event
event: put
data: {"path": "/", "data": {...}} // very large JSON tree
// I want to keep subsequent events, to entries changed in that tree:
event: put
data: {"path": "/entry42", "data": {...}} // small JSON tree, ok
有没有办法告诉数据库跳过第一个事件?我不需要这些数据(以一种不同的、更有效的方式获取当前状态)。我只想实时更改数据。
实时数据库没有"only things that changed since the last time I queried"的感觉。那不是您可以进行的查询。您可以做的是使用时间戳之类的东西来确定新内容,并使用该时间戳查询数据库以仅查找比您用于先前查询的最后一个时间戳更新的节点。
我正在使用 Firebase 实时数据库 REST API 在数据上传时从服务器流式传输事件(参见 https://firebase.google.com/docs/reference/rest/database#section-streaming-cancel)
但是,当我启动事件流时,它总是下载整个树。我不需要那个,我只想接收实时更改。示例:
GET https://[PROJECT_ID].firebaseio.com/database.json
// I want to get rid of this event
event: put
data: {"path": "/", "data": {...}} // very large JSON tree
// I want to keep subsequent events, to entries changed in that tree:
event: put
data: {"path": "/entry42", "data": {...}} // small JSON tree, ok
有没有办法告诉数据库跳过第一个事件?我不需要这些数据(以一种不同的、更有效的方式获取当前状态)。我只想实时更改数据。
实时数据库没有"only things that changed since the last time I queried"的感觉。那不是您可以进行的查询。您可以做的是使用时间戳之类的东西来确定新内容,并使用该时间戳查询数据库以仅查找比您用于先前查询的最后一个时间戳更新的节点。