Flutter Firebase儿童人数

时间:2018-06-28 09:15:35

标签: firebase firebase-realtime-database dart flutter

我当前正在为我的主应用程序创建一个仪表板应用程序,该仪表板能够在图表中显示使用该应用程序的用户的人口统计信息。我使用Firebase数据库作为后端。我的数据库的JSON树如下所示。我的问题是,如何获得具有特定键值的数据量?例如:键“ jk”的值为“ Pria”的子代数为2。

我的后端JSON树:

My Backend JSON Tree

到目前为止,我可以使用以下方法获取所有数据:

DatabaseReference itemRef = FirebaseDatabase.instance.reference().child('data_pengguna');

我也尝试了下面的代码,但似乎不起作用:

int jmlPria;
FirebaseDatabase.instance
    .reference()
    .child('data_pengguna')
    .orderByChild('jk')
    .equalTo('Pria')
    .once()
    .then((onValue) {
  Map data = onValue.value;
  jmlPria = data.length;
});

但是我还没有成功过滤数据并将其放入变量中,有人可以帮我吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

最后一个代码段看起来正确,jmlPria应该有孩子数量。

但是jmlPria的值将仅设置为then()回调内的最新值 。确保Text( $ jmlPria )then()回调内。除此之外,jmlPria将没有正确的值。

另请参阅Doug's great blog post on asynchronous programming