Python Firestore错误消息:运算符字符串';在';无效

Python Firestore错误消息:运算符字符串';在';无效,python,firebase,google-cloud-firestore,Python,Firebase,Google Cloud Firestore,我正在使用python对firebase firestore执行此查询: groups = ['AG', 'PA'] docs = db.collection(u'companies').document(company).collection('counts').\ document(count_name).collection('preprocess').\ where('status', '==', 'done').where('statuslayers', '==', 'done').

我正在使用python对firebase firestore执行此查询:

groups = ['AG', 'PA']

docs = db.collection(u'companies').document(company).collection('counts').\
document(count_name).collection('preprocess').\
where('status', '==', 'done').where('statuslayers', '==', 'done').\
where('statuslive', '==', 'created').\
where('load', '==', False).where('group', 'in', groups).\
order_by(u'area').stream()

for doc in docs:
    print(u'{} => {}'.format(doc.id, doc.to_dict()))
此错误被触发:

运算符字符串“in”无效。有效选项为:=,数组_包含

页面上的示例非常接近:

cities_ref = db.collection(u'cities')

query = cities_ref.where(u'country', u'in', [u'USA', u'Japan'])
return query
我找不到这个错误的任何原因,如果我删除where('group','in',groups)子句,一切正常

我的谷歌相关软件包:

  • 谷歌api核心1.15.0
  • 谷歌api python客户端1.7.11
  • 谷歌认证1.10.0
  • google-auth-httplib2 0.0.3
  • 谷歌云0.34.0
  • 谷歌云核心1.1.0
  • 谷歌云firestore 1.6.1
  • 谷歌云存储1.24.1
  • 谷歌可恢复媒体0.5.0
  • googleapis通用protos 1.6.0

我用相同的软件包创建了一个新的虚拟环境并解决了问题,在此之前,我尝试更新现有的虚拟环境,但没有成功

新虚拟环境中的包:

  • 谷歌api核心1.15.0

  • 谷歌api python客户端1.7.11

  • 谷歌认证1.10.0

  • google-auth-httplib2 0.0.3

  • 谷歌云核心1.1.0

  • 谷歌云firestore 1.6.1

  • 谷歌云pubsub 1.1.0谷歌云存储1.24.1

  • 谷歌云任务1.3.0

  • 谷歌可恢复媒体0.5.0

  • googleapis通用protos 1.6.0

请注意,它们以前是相同的。尽管如此,它还是奏效了


感谢您的评论。

我已经用相同的软件包创建了一个新的虚拟环境,并解决了问题,在此之前,我尝试更新现有的虚拟环境,但没有成功

新虚拟环境中的包:

  • 谷歌api核心1.15.0

  • 谷歌api python客户端1.7.11

  • 谷歌认证1.10.0

  • google-auth-httplib2 0.0.3

  • 谷歌云核心1.1.0

  • 谷歌云firestore 1.6.1

  • 谷歌云pubsub 1.1.0谷歌云存储1.24.1

  • 谷歌云任务1.3.0

  • 谷歌可恢复媒体0.5.0

  • googleapis通用protos 1.6.0

请注意,它们以前是相同的。尽管如此,它还是奏效了


感谢您的评论。

似乎添加了对此的支持,但如果您确实有
google cloud firestore==1.6.1
ISTM,它应该有该更新,但您可能需要再次检查它是否确实存在,以及您使用的是您认为正在使用的包的版本。@iGuanaaut我快速查看了更改日志,而且似乎中的
是在1.6.0中添加的。我不知道为什么它对Randolfo不起作用。似乎已经添加了对它的支持,但是如果您确实有
google cloud firestore==1.6.1
ISTM,它应该有那个更新,但您可能需要再次检查它是否确实存在,以及您使用的是您认为正在使用的软件包的版本。@iGuanaut我快速查看了变更日志,它似乎是在1.6.0中添加的。我不知道为什么它对Randolfo不起作用。如果您的环境有点混乱,有时可能会有一个包的旧版本,但安装了不正确的元数据(例如,如果包以某种方式重新安装,而没有首先正确卸载)。当有疑问时,与其依赖元数据,不如检查软件包的代码本身。如果您的环境有点混乱,有时可能会有一个旧版本的软件包,但安装了不正确的元数据(例如,如果软件包以某种方式重新安装,而没有首先正确卸载)。当有疑问时,不要依赖元数据,而是检查包本身的代码