You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go Firebase Admin SDK Realtime Database监听器仅控制台更新触发,其他途径不触发

Go Firebase Admin监听Realtime Database仅控制台修改触发,其他端修改不触发问题

我正在使用Go Firebase Admin SDK监听Realtime Database的数据变更。目前遇到的问题是:仅当我从Firebase控制台手动更新数据时,监听器才会被触发;如果我通过其他应用(本次为Flutter应用)修改数据,即便修改后的数据在Firebase控制台可见(说明数据确实已变更),监听器也不会被触发。

我甚至尝试通过Firebase Database REST API执行更新操作,结果一致:数据变更可在控制台查看,但仍然无法触发监听器。

以下是我在Go中监听数据变更的代码实现:

func listenToFirebase(ref *db.Ref, ctx context.Context) {
    iter, err := ref.Listen(ctx)
    if err != nil {
        fmt.Printf(" Error: failed to create Listener %v\n", err)
        return
    }
    defer iter.Stop()

    for {
        if iter.Done() {
            break
        }
        event, err := iter.Next()
        if err != nil {
            // 可根据业务场景处理错误,不影响后续监听逻辑
            log.Printf("%v\n", err)
            continue
        }
        fmt.Printf("Listener | Ref Path: %s | event.Path %s | event.Snapshot() = %v\n", ref.Path, event.Path, event.Snapshot())
        fmt.Printf("\n")
    }
}

从控制台修改数据可触发监听器的现象表明,监听器本身的基础功能是正常的。

备注:上述代码所用的Listen方法尚未被官方Go Firebase Admin SDK集成,为社区实现方案。

内容的提问来源于stack exchange,提问作者juicy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:45:02