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())
我有这个结构:
-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())