代码之家  ›  专栏  ›  技术社区  ›  Giri

Firebase DataSnapshot检索已删除/不存在的节点

  •  0
  • Giri  · 技术社区  · 7 年前

    我使用Flutter作为前端移动框架,Firebase实时数据库作为后端。我试图计算某个特定组件的点击次数,我从firebase获得了最近的点击次数,并将其递增1,然后保存回去。它工作得很好。这里的问题是,当我试图在firebase中直接重置计数时,dart中的DataSnapshot将接收旧计数。我甚至删除了节点,但它仍然检索非空的最近计数。下面是我的代码。

    _buttonClicked() async {
       DatabaseReference ref = FirebaseDatabase.instance
        .reference()
        .child('analitics')
        .child('buttonclicks');
       ref.keepSynced(true);
       ref.once().then((DataSnapshot snap) {
        if (snap.value == null) {
          ref.set(
            {'count': 1},
          );
        } else {
          AnaliticsModel count = AnaliticsModel.fromSnapshot(snap);
          int tempcount = count.count;
          tempcount += 1;
          ref.update(
            {'count': tempcount},
          );
        }
      });
    }
    
    0 回复  |  直到 7 年前