如何在一次查询中获取多个孩子的 ID

rpj*_*adi 2 android firebase firebase-realtime-database

我正在尝试将聊天功能添加到使用 Firebase 实时数据库作为存储的 Android 应用程序。

我的架构是这样的,

conversation: {
  conversation_id_generated_by_firebase: {
    last_message: {
      message: "hehe"
      type: "text"
      attachments: {0: "url", 1: "url"}
      likes: {0: "uid1", 1: "uid2"}
      created_at: 1245789898
    },
    messages: {
      m1: {
        message: "hehe"
        type: "text"
        attachments: {0: "url", 1: "url"}
        likes: {0: "uid1", 1: "uid2"}
        created_at: 1245789898
      }, m2: {}, m3: {}, m4: {}
    },
    read_till: {
      uid1: 14567894229
      uid2: 14567894228
    },
    created_at: 1456789329
    updated_at: 1456789429
  },
}
Run Code Online (Sandbox Code Playgroud)

现在,如何在一次查询/调用中获取多个带有 id 的对话?

Fra*_*len 5

没有与 SQL 的SELECT * WHERE id IN (1,2,3). 在 Firebase 中,您将分别检索每个项目。

这并不像大多数开发人员想象的那么慢,因为 Firebase 可以通过单个连接有效地管道此类请求。请在此处查看我的答案以获得更长的解释(和一些 ASCII 艺术):通过使用查询而不是重复观察单个事件来加速为我的社交网络应用程序获取帖子