Querying Firestore documents by nested key-value in an array field using Python
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
L’issue ne mentionne aucun fichier ni test du dépôt. Commencez par examiner le comportement des requêtes Firestore pour array-contains et les champs imbriqués, ainsi que l’API FieldFilter de Python ; le travail est terminé lorsqu’il est déterminé si ce prédicat est pris en charge et que l’approche de requête appropriée ou la limitation est documentée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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:
{
"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:
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:
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.
- Langage dominant
- Python
- Étoiles
- 1.2k
- Forks
- 359
- Merge moyen
- 3 j 9 h
- PR mergées (30 j)
- 3
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de firebase/firebase-admin-python
-
api: remoteconfig
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
firebase/firebase-admin-python#957 · 1 commentaire ·
-
api: database type: feature request
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
firebase/firebase-admin-python#978 · 1 commentaire ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) Ouverteapi: auth
firebase/firebase-admin-python#949 · 2 commentaires · 1 réaction · 1 personne assignée ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 43/100
firebase/firebase-admin-python#945 · 1 commentaire · 1 réaction ·
Toutes les issues de firebase/firebase-admin-python
Issues similaires
-
bug confirmed issue
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
open-webui/open-webui#30750 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100