【发布时间】:2018-12-07 07:25:22
【问题描述】:
我目前正在为我的主应用程序创建一个仪表板应用程序,该仪表板能够在图表中显示使用该应用程序的用户的人口统计数据。我使用 Firebase 数据库作为后端。我的数据库的 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;
});
但我还没有成功过滤数据并将其放入变量中,有人可以帮助我吗?
非常感谢。
【问题讨论】:
-
最后一个 sn-p 看起来是正确的,
jmlPria应该有孩子的数量。它有什么问题? -
当我尝试使用
Text(`$jmlPria`)输出它时,它返回一个null,即使我尝试在State声明和build内实例化和设置jmlPria的值功能。知道我的代码@FrankvanPuffelen 有什么问题吗? -
确保
Text(`$jmlPria`)位于then()回调内部。除此之外,jmlPria将没有正确的值。 -
哦,我明白了。现在它就像我预期的那样工作。非常感谢@FrankvanPuffelen 的帮助 :)
-
很高兴听到!我把它写成了一个简短的答案,这样我们就可以很好地为其他尝试这个的人关闭。
标签: firebase firebase-realtime-database dart flutter