firestore array_contains condition is ignored (python)



我使用python(3.11)查询google firestore db特别是'array_contains'条件,但它只是忽略它,不做任何过滤

下面是我的代码:
tails_ref = db_ref.collection('tails')
tails_ref.where('visible_to', 'array_contains', 'red')
docs = tails_ref.stream()
for doc in docs:
print(f"{doc.id} => {doc.to_dict()}")

作为结果,我得到整个集合:

0NAjJEgWWZqX9n5PALTp => {..., 'visible_to': ['red', 'blue'], ...}
1KHfzw9zcgISxGKtaWA0 => {..., 'visible_to': ['blue'], ...}
1d3YWvDileK3105UXRTd => {..., 'visible_to': [], ...}
5xaQsc4tD2SSco6g3E8F => {..., 'visible_to': ['red'], ...}

我希望在'visible_to'数组中只看到值为'red'的文档我做错了什么?

张贴问题后,我发现了一个错误:我需要重新分配引用条件:

tails_ref = tails_ref.where('visible_to', 'array_contains', 'red')
tails_ref = tails_ref.where('visible_to', 'array_contains', 'red')

最新更新