firebase / firebase/firebase-admin-python

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

Aperta
#781 1 commento 5 reazioni 0 assegnatari Vedi su GitHub
api: firestore type: feature request
Lingua principale
Python
Stelle
1.2k
Fork
359
Merge medio
5g 6m
PR unite (30g)
2

Descrizione

**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.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.