-
Notifications
You must be signed in to change notification settings - Fork 342
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.