获取 DataSnapShot 的父级
Posted
技术标签:
【中文标题】获取 DataSnapShot 的父级【英文标题】:Get parent of DataSnapShot 【发布时间】:2021-12-20 06:38:13 【问题描述】:我有一个代码可以让孩子的节点像这样出来
YAlthobiti: firstName: yara, lastName: A, password: 12345, gender: true, DoB: 1/1/2000, email: yara@gmail.com
所以我需要让父级 (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 "";
我找了很多,一无所获
【问题讨论】:
【参考方案1】:当您对 Firebase 数据库执行查询时,可能会有多个结果。所以快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果列表。
您的代码需要通过循环 dataSnapshot.value.values
来处理此列表
【讨论】:
【参考方案2】:我猜你需要那个节点的密钥。
您可以在 DataSnapshot 上使用属性 key
,如文档中的 here 所述。
所以你的代码应该是这样的:
.then((DataSnapshot dataSnapshot)
EmotivID = dataSnapshot.key;
print(EmotivID);
return EmotivID;
)
【讨论】:
我试过但它返回它的父女巫是(用户)以上是关于获取 DataSnapShot 的父级的主要内容,如果未能解决你的问题,请参考以下文章