Firebase 如何获取id包含特定子字符串的所有元素?

Firebase 如何获取id包含特定子字符串的所有元素?,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我正在与firebase实时数据库建立聊天 假设用户1有uid1,用户2有uid2,他们的聊天ID将是uid1_uid2(订购asc)。 因此,数据库chat/如下所示: chat { uid1_uid2: [message, message...], uid4_uid2:[message, message...], uid5_uid1:[message, message...], uid11_uid8:[message, message...] } Firebase规则如下,

我正在与firebase实时数据库建立聊天

假设用户1有uid1,用户2有uid2,他们的聊天ID将是uid1_uid2(订购asc)。 因此,数据库chat/如下所示:

chat {
  uid1_uid2: [message, message...],
  uid4_uid2:[message, message...],
  uid5_uid1:[message, message...],
  uid11_uid8:[message, message...]
}
Firebase规则如下,仅允许对话者访问对话:

   "chat": {
          "$chatId": {
            ".write": "$chatId.contains(auth.uid)",
            ".read": "$chatId.contains(auth.uid)"
          }
          }
我想在chatId中获取具有uid1的元素。因此,预期的回报将是

{
  uid1_uid2: [message, message...],
  uid5_uid1:[message, message...]
}
有没有办法获取id包含特定子字符串的元素?类似于

databaseChat.child("contains uid1").on("value", snapshot => {

})

这是不可能的。实时数据库没有子字符串查询。最好是在值中查找前缀字符串


谢谢!databaseChat.orderByKey().endAt(uid1+“\uf8ff”).on()的工作方式与我预期的一样。它好像工作得很好