Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#781 1 comentario 5 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
databases

Línea de trabajo

El issue no menciona archivos ni pruebas del repositorio. Empieza revisando el comportamiento de las consultas de Firestore para array-contains y campos anidados junto con la API FieldFilter de Python; el trabajo estará terminado cuando se determine si este predicado es compatible y se documente el enfoque de consulta adecuado o la limitación.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

api: firestore type: feature request

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.

Lenguaje dominante
Python
Estrellas
1.2k
Forks
359
Merge medio
5 d 6 min
PR fusionados (30 d)
2

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de firebase/firebase-admin-python

Todos los issues de firebase/firebase-admin-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.