You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中调用Firebase RTDB的get()如何仅获取菜单项ID

获取Firebase Realtime Database子节点ID的解决方案

你需要提取menuItem节点下所有子节点的ID(如J1),而非完整菜单项数据。可以通过遍历DataSnapshot的children集合实现,每个子节点的key就是目标ID。

修改后的代码示例:

final DatabaseReference _dbRef = FirebaseDatabase.instance.ref();
final items = await _dbRef.child('menuItem').get();
if (items.exists) {
  // 存储所有菜单项ID的列表
  List<String> itemIDs = [];
  // 遍历menuItem下的所有子节点
  for (var childSnapshot in items.children) {
    // 获取子节点的key(即J1、J2这类ID),非空则加入列表
    String? id = childSnapshot.key;
    if (id != null) {
      itemIDs.add(id);
    }
  }
  // 后续可使用itemIDs做业务处理,比如打印查看
  print(itemIDs);
}

代码说明

  • items.children返回menuItem节点下所有子节点的DataSnapshot集合
  • 每个childSnapshot.key对应子节点的ID(如J1),直接提取即可
  • 用列表统一收集ID,方便后续业务逻辑调用

内容的提问来源于stack exchange,提问作者Stamp777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 15:39:15