flutter firebase 如何获取节点的所有子节点

Posted

技术标签:

【中文标题】flutter firebase 如何获取节点的所有子节点【英文标题】:flutter firebase how do I get all the children of a node 【发布时间】:2018-09-22 18:16:20 【问题描述】:

我对使用 dart 和 firebase 不是很熟悉,我想知道如何获取某个节点的所有子节点以及如何检查节点是否存在

【问题讨论】:

请在您的问题中以文本形式包含相关代码和错误。链接到图像会损害我们回答您问题的能力,并且使用图像作为代码或错误消息会使搜索类似错误变得不可能。如果您有任何问题,请查看How to create a Minimal, Complete, and Verifiable example 谢谢你,下次我问问题@StefanCrain 时,我会确保记住这一点 您可以在发布后使​​用edit 按钮进行更改。 【参考方案1】:

如果您获得用户列表,则类似这样:

static Future<int> getUserAmount() async 
  final response = await FirebaseDatabase.instance
      .reference()
      .child("Users")
      .once();
  var users = [];
  reponse.value.forEach((v) => users.add(v));
  print(users);
  return users.length;

您可以通过users检查您需要检查的内容,然后返回结果;

【讨论】:

【参考方案2】:

如果您只想要下面示例的父级名称:

https://i.stack.imgur.com/NjxbJ.png

我会使用 Günter Zöchbauer 的代码并稍作修改。结果将是:user = [A,B,C,D,E,LIVRE] 长度为 5。

Future  getUserAmount() async
  
    final database = await FirebaseDatabase.instance
      .reference()
      .child("CHILD1/ana/exercicios/")
      .once();
      
    List <String> users = [];

    database.value.forEach((key,values) => users.add(key)); 

    print(users);
    print(users.length);
  

【讨论】:

以上是关于flutter firebase 如何获取节点的所有子节点的主要内容,如果未能解决你的问题,请参考以下文章

从 Flutter 应用程序中的 Firebase 实时数据库事件获取父节点

Flutter:如何从 Firebase 数据库中删除最后一个节点?

如何使用 Flutter 从 Firebase 获取当前活跃用户?

如何仅获取文档 ID [Firebase-Flutter]

Flutter:如何从谷歌登录firebase获取生日? (安卓和iOS)

Flutter:如何从 Firebase 通知负载中获取 Json 数据