firebase / firebase-admin-python

Firebase Admin Python SDK
https://firebase.google.com/docs/admin/setup
Apache License 2.0
1.03k stars 320 forks source link

[FR] Can we add `shallow` support to `Query.get` like `Reference.get`...? #662

Open al-the-x opened 2 years ago

al-the-x commented 2 years ago

Is your feature request related to a problem? Please describe.

The addition of the shallow parameter when retrieving data was requested in #61 and accepted in #109, but this only added the shallow param to Reference.get. I have a Query (order_by_child) that I would like to shallow, but Query.get doesn't support the param.

Describe the solution you'd like

I don't see any limitation to having both the orderByChild and shallow parameters in the docs for RTDB via Rest, but admittedly I haven't tried it yet. If there are none, can we add shallow to Query.get, too?

Describe alternatives you've considered

None exist, as far as I know, if I need to select a subset of paths filtered by criteria but only want the keys of those refs. Open to suggestion otherwise...

Additional context

Expected

>>> just_ids_please = (firebase_admin.db
...    .reference("/path/to/resource")
...    .order_by_child("some/child")
...    .equal_to("some_value")
...).get(shallow=True)
...
>>>

Actual

>>> just_ids_please = (firebase_admin.db
...    .reference("/path/to/resource")
...    .order_by_child("some/child")
...    .equal_to("some_value")
...).get(shallow=True)
...
TypeError: get() got an unexpected keyword argument 'shallow'
google-oss-bot commented 2 years ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.