#java #android #firebase #firebase-realtime-database
#java #Android #firebase #firebase-realtime-database
Вопрос:
Мне нужно сделать запрос к моей базе данных.
Структура моей базы данных выглядит следующим образом
"songsDB" : {
"0" : {
"kzSongAuthorName" : "AuthorName",
"kzSongComposerName" : "",
"kzSongGenre" : "NationalMusic",
"kzSongSinger" : "",
"kzSongText" : "SongText",
"kzSongTitle" : "SongName",
"kzSongytblink" : "",
"stars" : {
"ZDA1SrW8XObrLMZ9AZggDJeKyGx1" : true
}
},
"1" : {
"kzSongAuthorName" : "Халық әні",
"kzSongComposerName" : "",
"kzSongGenre" : "Халық әні",
"kzSongSinger" : "",
"kzSongText" : "Есік алды қара су бойламадым-ей,nБұл жалғанның өтерін ойламадым.nnА, құрбым, айдай-ау.nnБұл жалғанның өтерін білген болсам-ей,nҚұлын-тайдай айқасып ойнамадым.nnА, құрбым, айдай-ау.",
"kzSongTitle" : "А, құрбым, айдай-ау",
"kzSongytblink" : ""
},
"2" : {
"kzSongAuthorName" : "Халық әні",
"kzSongComposerName" : "",
"kzSongGenre" : "Халық әні",
"kzSongSinger" : "",
"kzSongText" : "Ақша қарда жорытқан қояндайсың-ей,nШөп-шөп сүйсем бетіңнен оянбайсың.nnА, шіркін, жанай-ау.nnЕкі көзің күн нұры жарқыраған-ей,nҚандай жанға өмірлік баяндайсың.nnА, шіркін, жанай-ау.nnАры өтейін аулыңнан, бері өтейін-ей,nАқ алмасын арудың тере өтейін.nnА, шіркін, жанай-ау.nnШын пейіл, шын көңілің менде болса-ей,nАлтын қобыз қолға алып әндетейін.nnА, шіркін, жанай-ау.",
"kzSongTitle" : "А, шіркін, жанай-ау",
"kzSongytblink" : ""
}
"user-posts" : {
"ZDA1SrW8XObrLMZ9AZggDJeKyGx1" : {
"-Lc0yxGvpLtQsC5rn1O1" : {
"genre" : "Райм и Артур",
"kzSongAuthorName" : "Поп",
"kzSongComposerName" : "https://youtube.com/watch?v=Nb0pN6ONQqc",
"kzSongSinger" : "Райм и Артур",
"kzSongText" : "Раим и Артур",
"kzSongTitle" : "Саукеле",
"kzSongytblink" : "Текст",
"starCount" : 0
},
"-Lc15vqWWUJthDF_8KVN" : {
"kzSongAuthorName" : "Genre",
"kzSongComposerName" : "https://www.youtube.com/watch? V=Nb0pN6ONQqc",
"kzSongGenre" : "Author",
"kzSongSinger" : "Singer name",
"kzSongText" : "Composer",
"kzSongTitle" : "Song name",
"kzSongytblink" : "Text",
"starCount" : 0,
"uid" : "ZDA1SrW8XObrLMZ9AZggDJeKyGx1"
},
"-Lc17GNtP0dRJTOAM7Tw" : {
"kzSongAuthorName" : "Author name",
"kzSongComposerName" : "Composer name",
"kzSongGenre" : "Genre name",
"kzSongSinger" : "Singer name",
"kzSongText" : "Text name",
"kzSongTitle" : "Song name",
"kzSongytblink" : "https://www.youtube.com/watch?v=Nb0pN6ONQqc",
"starCount" : 1,
"stars" : {
"ZDA1SrW8XObrLMZ9AZggDJeKyGx1" : true
},
"uid" : "ZDA1SrW8XObrLMZ9AZggDJeKyGx1"
}
"users" : {
"ZDA1SrW8XObrLMZ9AZggDJeKyGx1" : {
"email" : "itteam1602@gmail.com",
"username" : "itteam1602"
}
}
Я сделал это одним из способов, я проверяю ключ «звезда», если у пользователя значения UID true, тогда вам нужно показать этот пост в списке
общедоступный запрос getQuery(DatabaseReference DatabaseReference) { возвращает DatabaseReference.child(«songsDB»).orderByChild(«звезды»).orderByValue(getUID()).equalTo(true); }
Этот код не работает (
Ответ №1:
Чтобы решить эту проблему, пожалуйста, измените следующую строку кода:
return databaseReference.child("songsDB")
.orderByChild("stars")
.orderByValue(getUID())
.equalTo(true);
Для
return databaseReference.child("songsDB")
.orderByChild("stars/" getUID())
.equalTo(true);