首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中获取FIrebase数据库结果的第一项?

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

Stack Overflow用户
提问于 2018-06-23 05:45:19
回答 3查看 1.6K关注 0票数 1

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

代码语言:javascript
复制
from firebase_admin import db
ref = db.reference('users')
results = ref.order_by_child('name').equal_to(uniqueID).limit_to_first(1).get()
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-23 05:45:19

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

代码语言:javascript
复制
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()
票数 3
EN

Stack Overflow用户

发布于 2018-06-25 22:19:31

@Jim的答案没有错,但popitem()会从results字典中删除该条目。如果你想得到第一个项目,你可以使用do this:

代码语言:javascript
复制
firstKey = next(iter(results.keys())) # Python 3.x
firstKey = results.iterkeys().next()  # Python 2.x

这将返回第一个项的键。您可以使用firstKey获得值,如下所示

代码语言:javascript
复制
value = results[firstKey]

希望这能有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2018-06-26 01:13:46

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

代码语言:javascript
复制
if results:
    key, val = results.items()[0]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50995959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档