无法在Firebase查询数据中传递变量

时间:2018-12-14 11:20:56

标签: python firebase google-cloud-firestore

根据https://firebase.google.com/docs/firestore/query-data/get-data,我尝试在python中使用以下代码并在查询中传递变量。

举个例子

docs = db.collection(u'cities').where(u'capital', u'==', True).get()

for doc in docs:
    print(u'{} => {}'.format(doc.id, doc.to_dict()))

我试图通过尝试替换variable1来比较其值并返回文档ID,以进行以下操作。输出不会返回任何响应。

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

cred = credentials.Certificate('/root/key.json')
firebase_admin.initialize_app(cred)

db = firestore.client()

variable1 = 9129392

docs = db.collection(u'company').where(u'companyid', u'==', variable1).get()

for doc in docs:
    print(u'{} => {}'.format(doc.id, doc.to_dict()))

有人可以让我知道如何解决此问题。谢谢

1 个答案:

答案 0 :(得分:0)

在Firestore中,检查companyid是字符串还是Long(数字)。

大多数人都将其存储为字符串-如果是这种情况,将需要将variable1声明为字符串并在其之间加引号:

variable1 = "9129392"

如果您希望将其作为整数,请确保将其以数字类型存储在Firestore中。