如何在 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]
我正在使用 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]