【问题标题】:How to make query to my Firebase database?如何查询我的 Firebase 数据库?
【发布时间】:2019-04-11 08:14:38
【问题描述】:

我需要查询我的数据库。

我的数据库结构是这样的

            "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,我会检查键“星号”,那么您需要在列表中显示这篇文章

公共查询 getQuery(DatabaseReference databaseReference) { return databaseReference.child("songsDB").orderByChild("stars").orderByValue(getUID()).equalTo(true); }

此代码不起作用(

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    要解决这个问题,请更改以下代码行:

    return databaseReference.child("songsDB")
        .orderByChild("stars")
        .orderByValue(getUID())
        .equalTo(true);
    

    return databaseReference.child("songsDB")
        .orderByChild("stars/" + getUID())
        .equalTo(true);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 2017-11-24
      • 2019-07-28
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      相关资源
      最近更新 更多