Cloud Firestore-Python-执行简单的where查询始终返回Query对象

时间:2018-11-06 06:19:52

标签: python firebase google-cloud-firestore

我知道这个问题听起来很傻,但是如何使用带有Python的Firebase Admin SDK(Cloud Firestore)正确查询数据?

是的,我在这里阅读了文档:

我的数据库:

Database

我的代码:

existing_post = db.collection(u'posts').where(u'id', u'==', u'BpzIbkqAkk0').get()
print(existing_post)

我还尝试省略.get()方法,但每次都得到相同的结果。

我所得到的只是

<google.cloud.firestore_v1beta1.query.Query object at 0x10e7aab00>

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

@Gerardo的评论使我朝着正确的方向前进。这是工作代码:

existing_posts = db.collection(u'posts').where(u'id', u'==', u'BpzIbkqAkk0').get()
for post in existing_posts:
    print(u'{} => {}'.format(post.id, post.to_dict()))

答案 1 :(得分:0)

您必须使用to_dict()将生成器对象转换为字典格式。 然后,您可以轻松访问所需的任何值。

existing_posts = db.collection(u'posts').document(u'id').get()
result=existing_posts.to_dict()
id='BpzIbkqAkk0'
result_id=result[id]

尝试一下可能会对您有所帮助。