获取 parent 个 DataSnapShot

Get parent of DataSnapShot

我有一个代码可以获取 child 的节点,结果是这样的

{YAlthobiti: {firstName: yara, lastName: A, password: 12345, gender: true, DoB: 1/1/2000, email: yara@gmail.com}}

所以我需要让 parent (YAlthobiti) 对其执行功能我该怎么做?

这是我的代码

static Future<String> getUserEmotivID(String email) async{
    String EmotivID = "";

    await _ref.child('Users')
    .orderByChild("email")
    .equalTo(email)
    .once()
    .then((DataSnapshot dataSnapshot) {
      EmotivID =  dataSnapshot.value.toString();
      print(EmotivID);
      return EmotivID;
    }).catchError((error, stackTrace) {
      print("inner: $error");
      print("Dose not Exist");
    });
    return "";
  }

我找了很多都没找到

我猜你需要那个节点的密钥。 您可以在 DataSnapshot 上使用属性 key,如记录 here.

因此您的代码将如下所示:

.then((DataSnapshot dataSnapshot) {
  EmotivID =  dataSnapshot.key;
  print(EmotivID);
  return EmotivID;
})

当您对 Firebase 数据库执行查询时,可能会有多个结果。所以快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果的列表。

您的代码需要通过遍历 dataSnapshot.value.values

来处理此列表