Order diff between backend and client with order_by_key()
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 55/100
Piste de recherche
Reproduisez le rapport avec db.reference("/test").order_by_key().limit_to_first(4).get() en utilisant le JSON fourni et comparez l’ordre de OrderedDict avec le comportement de order_by_key de Firebase. Suivez le traitement de la réponse pour cette requête et vérifiez que les clés renvoyées préservent l’ordre de la base de données afin que la pagination avec start_at ne répète pas les résultats.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe your environment
- Operating System version: macOS 12.4
- Firebase SDK version: 6.1.0
- Firebase Product: database
- Python version: 3.7.9
- Pip version: 21.3.1
Describe the problem
When using order_by_key(), the order of the returned OrderedDict is not the same as the database making pagination very difficult
Steps to reproduce:
- Create a collection with this json in "/test" for example :
{
"123": {"myValue": true},
"100001": {"myValue": true},
"100002": {"myValue": true},
"100003": {"myValue": true},
"100004": {"myValue": true},
"100005": {"myValue": true}
}
- Query it with :
db.reference("/test").order_by_key().limit_to_first(4).get()
- Comparison :
Current :
OrderedDict([('100001', {'myValue': True}), ('100002', {'myValue': True}), ('100003', {'myValue': True}), ('123', {'myValue': True})])
Expected :
OrderedDict([('123', {'myValue': True}), ('100001', {'myValue': True}), ('100002', {'myValue': True}), ('100003', {'myValue': True})])
Comments
So according to this link, order should be the same as the collection but in the corresponding OrderedDict the order is not the same so if you want make a pagination strategy, it just loops as getting the last key of the OrderedDict returned and using it in start_at will return the same result over and over again.
- Langage dominant
- Python
- Étoiles
- 1.2k
- Forks
- 359
- Merge moyen
- 3 j 9 h
- PR mergées (30 j)
- 3
Préparer son environnement
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)Peut-être à nouveau libre @lahirumaramba l’a pris il y a 143 jours, et aucune pull request n’est ouverte. 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
-
good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
vllm-project/vllm-metal#822 ·
Les mainteneurs répondent en général sous 1 jour
-
vector-store
Difficulté 1/5 1-3 heures Accessibilité débutants 90/100
mem0ai/mem0#7461 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: chunk_span_bounds and _validated_chunk_spans reject Pydantic models ChunkSpan and AudioFileOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
BasedHardware/omi#19047 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour