firebase / firebase/firebase-admin-python

.get() method returns a list instead of a dict in Realtime Database

Open
#687 1 comment 0 reactions 0 assignees View on GitHub
api: database
Dominant language
Python
Stars
1.2k
Forks
359
Avg merge
5d 6m
Merged PRs (30d)
2

Description

### [REQUIRED] Step 2: Describe your environment

* Operating System version: windows 11
* Firebase SDK version: 6.1.0
* Firebase Product: Realtime Database
* Python version: 3.9
* Pip version: pip 23.0.1

### [REQUIRED] Step 3: Describe the problem

#### Steps to reproduce:

If you set a key in Realtime Database with a value like this: {"1": "value1", "2": "value2"} and use .get() to retrieve the value, you will receive a list [None, "value1", "value2"] instead of a dict. In addition, it seems that if you use keys that are either too far apart as integers or if you put 0 before a number, you won't get a list.
#### Relevant Code:

```
data.ref.child("key").set({"1": "Hello", "2": "World!"})
print(data.ref.child("key").get())
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the reported behavior with the Realtime Database .get() call and the provided Python snippet, then inspect the implementation behind data.ref.child("key").get(). Done means retrieving {"1": "Hello", "2": "World!"} returns a dict rather than [None, "Hello", "World!"], while also checking the described integer-key variations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.