我目前正在为我的主应用程序创建仪表板应用程序,该仪表板能够在图表中显示使用该应用程序的用户的人口统计 . 我使用Firebase数据库作为后端 . 我的DB的JSON树如下所示 . 我的问题是,如何获取具有特定键值的数据量?示例:键'jk'的值为'Pria'的子项数为2 .
我的后端JSON树:
到目前为止,我能够使用以下方法获取所有数据:
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 回答
最后一个片段看起来是正确的,
jmlPria
应该有孩子的数量 .但是
jmlPria
的值只会被设置为then()
回调中的最新值 . 确保Text(
$ jmlPria)
在then()
回调中 . 除此之外,jmlPria
将没有正确的值 .另见Doug's great blog post on asynchronous programming .