java - 如何查询我的 Firebase 数据库?
问题描述
我需要查询我的数据库。
我的数据库的结构看起来像这样
"songsDB" : {
"0" : {
"kzSongAuthorName" : "AuthorName",
"kzSongComposerName" : "",
"kzSongGenre" : "NationalMusic",
"kzSongSinger" : "",
"kzSongText" : "SongText",
"kzSongTitle" : "SongName",
"kzSongytblink" : "",
"stars" : {
"ZDA1SrW8XObrLMZ9AZggDJeKyGx1" : true
}
},
"1" : {
"kzSongAuthorName" : "Халық әні",
"kzSongComposerName" : "",
"kzSongGenre" : "Халық әні",
"kzSongSinger" : "",
"kzSongText" : "Есік алды қара су бойламадым-ей,\nБұл жалғанның өтерін ойламадым.\n\nА, құрбым, айдай-ау.\n\nБұл жалғанның өтерін білген болсам-ей,\nҚұлын-тайдай айқасып ойнамадым.\n\nА, құрбым, айдай-ау.",
"kzSongTitle" : "А, құрбым, айдай-ау",
"kzSongytblink" : ""
},
"2" : {
"kzSongAuthorName" : "Халық әні",
"kzSongComposerName" : "",
"kzSongGenre" : "Халық әні",
"kzSongSinger" : "",
"kzSongText" : "Ақша қарда жорытқан қояндайсың-ей,\nШөп-шөп сүйсем бетіңнен оянбайсың.\n\nА, шіркін, жанай-ау.\n\nЕкі көзің күн нұры жарқыраған-ей,\nҚандай жанға өмірлік баяндайсың.\n\nА, шіркін, жанай-ау.\n\nАры өтейін аулыңнан, бері өтейін-ей,\nАқ алмасын арудың тере өтейін.\n\nА, шіркін, жанай-ау.\n\nШын пейіл, шын көңілің менде болса-ей,\nАлтын қобыз қолға алып әндетейін.\n\nА, шіркін, жанай-ау.",
"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,我会检查键“star”,那么您需要在列表中显示此帖子
公共查询 getQuery(DatabaseReference databaseReference) { return databaseReference.child("songsDB").orderByChild("stars").orderByValue(getUID()).equalTo(true); }
此代码不起作用(
解决方案
要解决此问题,请更改以下代码行:
return databaseReference.child("songsDB")
.orderByChild("stars")
.orderByValue(getUID())
.equalTo(true);
至
return databaseReference.child("songsDB")
.orderByChild("stars/" + getUID())
.equalTo(true);
推荐阅读
- swift - 在 UNNotification 内容扩展中打印语句
- xcode - App Store Connect 拒绝带有 ITMS-90562 无效捆绑包的二进制文件 - 无法编译位码
- google-cloud-platform - 是否可以从 Cloud-SQL 实例指标(例如内存、CPU、IO)中获取超过 1 个月的历史数据来进行趋势分析?
- python - 如何将 value_counts() 输出附加到原始 df?
- python - 尝试在 Python 中加载 C DLL 时出现错误的 ELF 类
- python - 将轴归一化以具有平方图
- python - 熊猫数据框替换不替换值
- python - 在 Spyder 中运行脚本时无法导入我自己的模块
- javascript - 我如何在 android 中使用 javascript 将 Edittext 值放入 webview 中的文本字段
- python - Socket Programming Python:如何确保接收到整个消息?