Firebase 实时数据库 equal_to() 方法获取整个文档而不是仅获取父文档

Firebase Realtime Database equal_to() method gets the whole document instead of the parent only

我有这个结构:

-User:
     -user1:
              -name : cycy
              -email: cycy@test.com

我打算做的是知道输入电子邮件包含什么父项。例如,如果我输入的电子邮件是 cycy@test.com,我应该能够输出“user1”。这是我的代码:

hey = db.child("User").order_by_child("email").equal_to("cycy@test.com").get()
print(hey.val())

我对这段代码的问题是它输出所有内容而不是仅输出父“user1” OrderedDict([('user1', {'name: cycy, email: cycy@test.com})])

我如何修改它以便它只给父“user1”

谢谢!

Firebase 实时数据库查询总是给出一个结果列表,因为可能有多个子节点匹配查询。即使只有一个结果,您也会得到该结果的列表。没有办法改变这种行为。

您将必须遍历结果,如 handling a list of results 上的 Pyrebase 文档所示。基于此,您的代码将类似于:

for user in hey.each():
    print(user.key())
    print(user.val())