My data in firebase looks like
Can I do a select distinct on the Genre node using the REST API of firebase?
When you read a tree in Firebase, you get all the children. There's no way around this.
You can however, create a data structure that holds just the genres per movie.
{
"movieGenres": {
"3646": {
"0": "Comedy"
},
"3647": {
"0": "Drama"
},
"3648": {
"0": "Horror",
"1": "Sci-Fi"
}
}
}
Now getting the genres is a simple read.
David's answer is correct (would you expect anything less?)
I wanted to expound his answer a tad with a more concrete example:
Structure
movies
movie_id_0
name: "Star Trek: Beyond Thunderdome"
genre: genre_id_0
movie_id_1
name: "Airplane: Part Trois"
genre: genre_id_1
movie_id_2
name: "Star Wars: Episode 132"
genre: genre_id_0
genres
genre_id_0
description: "Sci-Fi"
verbose: "Science Fiction is the literature of change"
genre_id_1
description: "Comedy"
verbose: "Comedy is entertainment consisting of jokes and satirical sketches"
There are several advantages of this structure in that the actual data is disassociated from the node names so if you wanted to say, change Sci-Fi to Science Fiction, you can make one change and everything that references it will reference the newly updated name. Your structure reflects this technique.
You can also see that we can add more info, verbose, about what a Sci-Fi or Comedy movie is
And this also easily allows you to maintain, read and write your genre list with minimal effort.
Hope that helps!