实时数据库未返回预期数据

时间:2020-06-08 12:17:07

标签: ios firebase firebase-realtime-database

我正在尝试使用iOS SDK每3秒轮询一次我的实时数据库,以检索最新的5个消息对象。

我使用以下代码:

let query = rtdb.child("event/ID/chat")
                .queryOrdered(byChild: "createdAt")
                .queryStarting(atValue: <TIMESTAMP>)
                .queryLimited(toFirst: 5)

query.observeOnce(of: eventType) { snapshot in }

假设我的数据库中包含以下(简化的)数据:

{
    id: 1,
    createdAt: 123456781
},
{
    id: 2,
    createdAt: 123456782
},
{
    id: 3,
    createdAt: 123456783
},
{
    id: 4,
    createdAt: 123456784
},
{
    id: 5,
    createdAt: 123456785
},
{
    id: 6,
    createdAt: 123456786
},

我从时间戳123456787开始查询。然后,我发布另一个带有时间戳123456788的消息。我的查询没有收到。为什么?

如果我改用时间戳123456782开始查询,它将返回ID为2, 3, 4, 5的消息。

我在做什么错了?

更新

这是因为启用了持久性。它只是返回本地缓存的数据。太傻了。

0 个答案:

没有答案