如何在 Python 中获取第一项 FIrebase 数据库结果?

How to get first item of FIrebase Database Result in Python?

我正在使用 Firebase Admin SDK for Python 从实时数据库获取数据,但所有示例似乎都使用 for 循环来迭代数据。

from firebase_admin import db
ref = db.reference('users')
results = ref.order_by_child('name').equal_to(uniqueID).limit_to_first(1).get()

.get() 返回的类型似乎总是 OrderedDict,即使 limit_to_first(1) 仅用于获得 1 结果。使用 .popitem() 获取第一个元素而不使用 for 循环。

from firebase_admin import db
ref = db.reference('users')
results = ref.order_by_child('name').equal_to(uniqueID).limit_to_first(1).get()
firstItem = results.popitem()

@Jim 的回答没有错,但 popitem() 将从 results 词典中删除该项目。如果你想得到第一个项目,你可以使用这样做:

firstKey = next(iter(results.keys())) # Python 3.x
firstKey = results.iterkeys().next()  # Python 2.x

这将 return 第一项的键。您可以像这样使用 firstKey 获取值

value = results[firstKey]

希望对您有所帮助!

由于您的 results 最多可以有 1 个项目,因此以下内容也 运行 非常有效:

if results:
    key, val = results.items()[0]