我使用Python
的Firebase Admin SDK
从实时数据库中获取数据,但所有示例似乎都使用for循环来迭代数据。
from firebase_admin import db
ref = db.reference('users')
results = ref.order_by_child('name').equal_to(uniqueID).limit_to_first(1).get()
发布于 2018-06-23 05:45:19
.get()
返回的类型似乎始终是OrderedDict
,即使limit_to_first(1)
用于仅获取1
结果。在不使用for
循环的情况下使用.popitem()
获取第一个元素。
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()
发布于 2018-06-25 22:19:31
@Jim的答案没有错,但popitem()
会从results
字典中删除该条目。如果你想得到第一个项目,你可以使用do this:
firstKey = next(iter(results.keys())) # Python 3.x
firstKey = results.iterkeys().next() # Python 2.x
这将返回第一个项的键。您可以使用firstKey
获得值,如下所示
value = results[firstKey]
希望这能有所帮助!
发布于 2018-06-26 01:13:46
由于您的results
最多只能有1个项目,因此以下内容也将非常高效地运行:
if results:
key, val = results.items()[0]
https://stackoverflow.com/questions/50995959
复制相似问题