firebase / firebase/firebase-admin-python

Querying Firestore documents by nested key-value in an array field using Python

Aberta
#781 1 comentário 5 reações 0 responsáveis Ver no GitHub
api: firestore type: feature request
Linguagem predominante
Python
Estrelas
1.2k
Forks
359
Merge médio
5d 6min
PRs com merge (30d)
2

Descrição

**Is your feature request related to a problem? Please describe.**
I'm working with Firestore in Python and have a data query challenge I'm hoping to get some advice on.

My documents in Firestore are structured as follows:
```python
{
"key1": "value1",
"key2": {
"subKey1": [
{
"arrayKey1": "arrayValue1",
"arrayKey2": "arrayValue2"
},
{
"arrayKey3": "arrayValue3",
"arrayKey4": "arrayValue4"
}
],
"subKey2": "subValue2"
}
}
```

My goal is to query documents where the value of arrayKey1 within the subKey1 array matches a specific value (for example, target_arrayValue1), regardless of the arrayKey2 in the same dictionary.

Here's an example of what my query currently looks like:
```python
docs = query.where(
filter=FieldFilter(
"key2.subKey1",
"array_contains",
{
"arrayKey1": "target_arrayValue1",
"arrayKey2": "arrayValue2"
}
)
).stream()
```

This approach, however, requires a full match of the dictionary, which is not ideal.

**Describe the solution you'd like**
My “ideal” code would do something like this:

```python
docs = query.where(
filter=FieldFilter(
"key2.subKey1.0.arrayKey1",
"==",
"target_arrayValue1"
)
).stream()
```

Is there an appropriate way to structure my query to achieve this? Any insights or examples would be greatly appreciated! Thanks in advance.

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.